home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-03 | 55.3 KB | 1,497 lines |
- Newsgroups: comp.sources.x
- Path: uunet!usc!elroy.jpl.nasa.gov!ames!pasteur!nntp
- From: scott.oaks@East.Sun.COM (Scott Oaks)
- Subject: v15i155: OpenLook Virtual Window Mgr (3.0), Part09/21
- Message-ID: <1992Feb4.135705.7405@pasteur.Berkeley.EDU>
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Nntp-Posting-Host: postgres.berkeley.edu
- Organization: University of California, at Berkeley
- References: <csx-15i147-olvwm-3.0@uunet.UU.NET>
- Date: Tue, 4 Feb 1992 13:57:05 GMT
- Approved: dcmartin@msi.com
-
- Submitted-by: scott.oaks@East.Sun.COM (Scott Oaks)
- Posting-number: Volume 15, Issue 155
- Archive-name: olvwm-3.0/part09
-
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # If this archive is complete, you will see the following message at the end:
- # "End of archive 9 (of 21)."
- # Contents: screen.c.Z.uu services.c
- # Wrapped by dcmartin@fascet on Tue Jan 14 05:54:44 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'screen.c.Z.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'screen.c.Z.uu'\"
- else
- echo shar: Extracting \"'screen.c.Z.uu'\" \(34343 characters\)
- sed "s/^X//" >'screen.c.Z.uu' <<'END_OF_FILE'
- Xbegin 666 screen.c.Z
- XM'YV0+U0H *$"A,*,:D #'D#9P\<M*<04,'1(P<.'*PL)@C!PP04^JX =$D
- XMS1@Y;^;DF4.G3)LY&Y.X&>,"I$@09,K,D3@23IB6;NC,&5CPH$$X9=R02>/F
- XM# BF(.B@*0.BBHLI-<,H!6'FC9PR/$&,>2.23D2=-:>4H<JDR)$@3+XX>4(E
- XMR9 B1(T:-).=6N<J*6D?,2Q!LS4:>"8&,RZ9PR+HB^4*!@1)J<01.( ()B
- XM1(HY)]>Z<3$F00P7,0RSL7.G#0@[@W>^&1GCQ8P7.62(H!PPKY PC\D8=E/Y
- XM<E(ZFCE[!OTU*>D$,FRXD($C08[:,'*\B$$#9),DNPE*IFQY)ILZ.4'P&$,G
- XM#U(7:'P4-X^>*H_!<MR\@2^__)CSZ?' TE+[Q3???_6IQU)$3?%W((#V81%#
- XM;5BDY*!_$*HG(86,B7$A4P@&N.$+6/ST1AL?TB?BA"3604=?*888(8MCU"''
- XM'%YU%52,&?(P(A9?X6CC&) 9B&&"/+S!QAEXO* DDPX^F* (:<2 PVAH['9D
- XM>B(HR<8;8X3A%WQ:@IBA"&VX1*:47"K9VII;4B5"3F:$40<;0L%IYI1G?"F&
- XMF'/HJ:*<09(E!Y&!9LFFG$G9D09*6)8Y* @BW,&4H#)2FJ8;=6!ZYAQ?YJEH
- XMG)0Z*@<==8BYYJ*4FC1;&FV$<4:1DF9*Y5ANQ#K'&JL&U,*OP 8K[+#$%FOL
- XML<@22U0"1_@I)@A$_!0&4<E6:^VUV *KPF1,I,%2 BI,$5I2,G75+4L[)*!N
- XM0""<6]%A(,3JAJQE",><:',0-%D9>+247P)"O*$D" $K.8593)V!0@H[\*9"
- XMMA!''/&R3(#Y;+1T3$N0Q!QW?.RVE=')%%5GR!%&'C7 \(6E9$@%@KK5)<#N
- XMGV.L43)96Y5\,@ABI$%'K'#H&W(9?+E!LLDHJSR51!2]G ."K#TDTD@B+33
- XM&48+-P8:802F<])?]"S4%EV T ,(>PQT$ QXU%##1FR'$0;<;;\-0MQSWUTW
- XMW7+3[3;?T_;1\ @B&\US'2I]\?7*E[G\]+H%F6%RFH>KQ+//0 M-.-$C5YZ'
- XMXDA_L?1$%3T==<8OCE&U&U=G+1;7@8F!^.>+BST'V6:CK;9!;.. ]TPP$"W
- XM##( +[S>OAL_?/%Z!Z^ X)1)G3K! K-1]4Y-$4&TG7A*(3 =!Z<!!QQ^-:Q
- XM;P2!5$9%DI\(0K/NH6'$;'3L<'V]3XW4QANP!9F&'I 9 PLLY0;)A2%-I!D@
- XM4_P'0-*,ARFEDX)._E<&T8&%=!N1X$X R+B6H<%\Z"M(%%(EAS4$RB!44,P)
- XMAG "$,RA#F;@"Q[RMY0PM21?81 +&X"3KWFE:2-:$8Y4J'*")+3PA3%,PPSS
- XMPI0:_D0G(-!*_J0V$ZKX$#(&"0(;K-<UJ@#J#2Z$H0SQ9RF7G2 *+:0#&)MH
- XMDB>"("]2^4EBRI"'$WP%!'$@H0EK @(GO*$EB9'C$"GU'QZ*(']S+)6W"CF'
- XM.1S2#EU+0QC$X)=\Y>4K9HA-5, X2$>]\%F,A D(]%.1019J2%0)962$)CVJ
- XM :D-(^S:&EPX+C<,88>-C$+#6JFZ5\:RA*_Q5D[@()4AZ/)T4^LE87XY2T\.
- XM4RI)."8O0>!+/083-+B<@S%WB3I7+M.:G@QE-+F93&I^4Y;7O,PVD3F]:J+3
- XMDY<9)SN]"4MKC@%HZYRF.X%YSS# 09[Z/"<P[^ 5$_J$2 WYDASRV4UEUA.=
- XM!"WA' Y:AH1Z!: -->=#!]K$-]S!H@N59D;W.4L"DL&C(,5H.4G*%:^4X68B
- XM(0-(&;I2@<X2,"]%24Q3*M*:;G26-+.93I4RTYZVTZ8\"T/-8$I4)5W4J/1D
- XM)L^\DI.%.C6DY#SJ3Z<JAZKR-*M1M>97^O<8*QCG#335JE3'&ILRF#4G;U"I
- XM6JW)$O&1KUY2J(,8Q#"8WRA%FU!UJ%3K.CZ_D"&O>^UK$.<@SWD*5H\),!6J
- XMQ#2_KS!5IE=-:UAE&=E'398-E<TISC"K4+ENMH2=/56JV/";I0Z5M%[1[&,Y
- XM*]G5ME:HH_VJ8S7*S-1^=GY!*2I89XO:VE*6?KH-Z$]]N]HC1 2V6-TM29DK
- XM)N>J\ZJF)>X:$L 4.+AH?C729F8#RUO(=O>[8$)<<D>*5..RH0G^=,(!*TI>
- XMEKH7OG"0;YJR6]YW>K:Y93C1^N20!]GV%YCN/4* TV26//#7OO\];G#KV]X(
- XM@Y9^#ZZP:L6DO5VI$0X&AO"&V=#A-7PXPUMU;Q)PI6 !-SC$&O[LBF?38@83
- XM&,52=:^XQ$3?X1ZXF1;>L5]P#$X+6U>F%$ZQD9]+9/^.& I*Q.=X?2SBST(9
- XM#U(N[3$=YK$N>[D%%+.8]8P@$O:D839#V=B7UQPQD)U/(.F+U1K*(*[FN(&9
- XM^?J5"]=7M:#E49;Y @PM[0R"4QY*)^.9IAW><!D%R)G.M<3SPA20M@3<*RFW
- XMY&$4<O?*@S'H#%1X S-1(((ZBT8$#*-,9^?P3#08D].$\73"0CUJ$6B/F%E*
- XM]:I;'4U8MT'63:&U'DG=:E0W;-6A?/79.HVP8(MZV"(PZR?98&P%(#N;O5YV
- XMK)L-ZF?+DM2>7&VU5ZW.36O[U]P6]K>C[:W5)H$(XX8G&;*M46!WN];A%M.[
- XMQ]U/$)N[WNGV=@E)#5*@\1MH]&;VI]4]<!&,1:$&UW5$#:K4BH[7U_9F^!I(
- XM?86"3K3B(!WWQ#^.4.S^6^&S%OC&*^5QBH9<XAW]Z,7/G7&5<SSF+S^V25%J
- XM<HP'O-8[E[E"QXW3RQ;5YPNWN0A">UFBN]3H/:?YSZ%=]->..ZA05ZBR 9[T
- XM6M^VZ;K&^FMYBO24UUKLH[TZ50=S=*EW'=H!ZRK;KZIVN5M5RV5W]MG7?G>O
- XM.-VR8X\ZU\U.]:=;7==LO9%;S[IUE.L=VA(DZ^+A.N[$E_6L"=_VV]=M^<D'
- XM>-R$O>MA]<I7.?B5#(#-^[VA';["XI7TBOTKZ%_D^M$GUO2+S3RZ-]_PT!L6
- XML:4_O2-3;6WW,CWP6C^YY@F_;K..^/BYI;NNC6_XZ./=[<QO./4!;WV_3]_"
- XM7T=^;)6_^^ROW/F?#7_WY1!O\"L5MSL5O.-7OV[WJC_^0__^\Y$[\\$_OOD6
- XM!EQTD'/%%X#\=WW^1W_:9X#!)7W'EF#/U78)J'&DAG[-%8$.6( C=F1DAWW_
- XMMX ;B('Y=VSG10?@I5[]-W\4* (RX5TFF%[B-8+65H(G&(-/I7HK2(,P2(#4
- XM]5[Q-5^-MWP?>'[NYUJCA5_M-V+XI5]EH'LUAV]%"']*@83Z]UDU-F %1GY/
- XM"&T66%T+AH5):(5?V&!..'7U9V1C2&!AN%HE]F%!6'Y#6($6UH8.L88<IA,F
- XMYA!ER'LKYUYT" =VR 8SY@97^&)::(8-UX6"R&)IF >!.(B%>&.'R(?@9F&0
- XMV(B!*&3TA8-*IXB:F(EA,F23:'Z5.&*?6(476&Z<6&N*>&2!>&1[2(HB (&7
- XM$8A7EF7CMXI<:&&WZ$\\Z%Z]"&+R)X0*V(>\&&6^F(%]X#!Y,2MTH$&&0B0@
- XMH&?.F"^FI!/12!60=!Y_X151! )GD :P,1),045$\@*AA$=Z1!1Y 04HP5<X
- XM=$>QDAX0Q$F*86C22 ;2\B>/<3T)DTA=L44>]8_EF#%5%$5;D1?I.!9M >S
- XM<1QSH /LF#ZAI /J\@1L\":FYASKD4U7)!_I4Y!:0206F0 \@!)_U (B644M
- XM\)$N<&EN, (NP ,%^9$361 2A"KYD2].4 5,P 3#P15AT!<V4@:)EE%;TS7B
- XMX8S0B$HHP!SE\@8L$$I1P (K2211D +6MI%N$)7@ I4%] ;'-EU4.98VQ5VL
- XM8Y!8V3!I8VTLE0"AI!-;0 -=8)9;A9;F*)=T:9=2E0#M@11V:05B4@=4$5F#
- XM60;F Y?9))<P4#9G$VH@EDW'I)@\))<QX)B#)AJ9EDO'%I>W(P.869;6YIE;
- XM, .8"0,DF)8CR9B8"9DRD9>3>966B9E@V14MX .R&9NJ646?B9FYF9IY>3NF
- XMF3NHJ6II@!@H$ *^I/B(U.B9&M001"L!&R*4J>N1$F\)=E@)W;2)@IL!"5
- XME@!?H9,CD1"P0Q IT),_>6S+*)[K8R/EF92!H0(IT)V0$09D0 9RT##+^&9,
- XM9(-RP)73V *O4P8ULTE[1A7'^8TP&4;CXQ5"(197M4H@,TT%PP8*X"T@Q95/
- XM>1)1R0*>]*%ND&]L, =:F0!<Z94J4)MBZ9;2YFYA"2XA&I:IB1P),*+M!BAL
- XM.8.986FU9!!GPZ*W"9,UJBYID)B"A@)IT .H^10\@*/3-@?V\Q0KL +@:6U&
- XMP5W(.:-=L05IT 4O^:,]$*2U=*7J8FEEM#4@@ )<^@9>"J:A9*8)H!=P"1Q4
- XM<3#)!%(2J2YT&B;]" 6/@1YH=55[JBY^2A7.=3*:6*A]:J?0\B@&.H"$:FUS
- XM>A#J,I[P"0)4( >$>6QG&A!S00524 1!, 1(4 1$ #)\:JD)( 9?$09KX*D)
- XM0"?<0P>%JBZN6@:P*JOMF0#MV9Z8FA\@8 2 @IC/PXP$D0"(4P8S0 0)0*#:
- XMXR]MT#EW,!5#%!@YU*!A,A(O]*"GDDC-NA@"LP9'64X7J@#+VJP=*@=1>:(I
- XM&J,KZJ$T2FD\BARMECM"Z@.M5J3AE$WX*J^VZ0,D>INAY*GL,JK?X01$H .)
- XMX2U/D2]]X1=G(";V0Z(/ZZ .&1P(RE>&X1-Y1!6J>J'N^4)XDCN;VJFJACYS
- XM6A!)@!@R0 8M\"5O,$L39:#'F0;X,T0CL:Q/41'Z$2\_X2\@4*V"I!@6ZRU8
- XMJJH+FIQ'( 56X )&, -D4 7!<:+N29[#6JR).0=IB@9KVJ\\9*:'"A(-E:AY
- XML*=C:[:+2JE+>Z\\ (R8+4C>R<5<3;$6J+&BJNO&JNCZ:A$ *GLH:=]^Z>!
- XM>E*":Z3(Z;8@0 -R&R1TFSMW^QB>FJN[.KAWVE"'JZ5KJK@XT+@Z\;AVJ[64
- XM2KE\6Z?]>+(6IU"%VK9E@&OJ 0(VX+DD6[=9B[>3N[?L:6W!.A*.BR?\B:PJ
- XM@)8^\QL[41H$^A@1BI)T\ *M]@(DBHY7E3G\:!)I5J$9M6B-QA3#"QPF@0)D
- XM\! LP*(@ZBTBZDDG^K<3M4-YH"XJ\+UY<&SOVA5?"; MF@!8\*+Z!J]M6J0W
- XMZDD["I?G*9M;T 1!@ 5R$01-4 1UJ6KYJKR7D3O>\T=7$'/>"[[Y"I.ZEJ^+
- XM=%6YHZ%7Q:'BVZ8L *7$9VEPP"!T8 9*NIM$LA$B ),E0 8BL!$77*;'IL$L
- XM7 ;_A@(DM1 J:'.RF6K]Z9_)JKUT@+]L\*SYXS.2Q!@ E)E)<0+Y<K1A21A3
- XM,QO^V!3+LJKZF#&&(089,S+"T3ZN<8U"<F@XL8]V2J'E.CW82P89Z@8^@\05
- XMG <T3+]::13H2SX[T[X/T3!&$;]@%*_L.J]I8Q3R21"R8P: ?!")K )PT,@&
- XM<;\Y*HAA^1HMT9 [U!*2O#JM@S\0%$QAJ2NS=#;%:124/&U121".<LEGHYY,
- XMT,FA+,>9+*64811+BP*+G#M,Z9R'MJX?ZDRM6TQ5*<RX%DW?"0(A\,H^R01F
- XMRBXFD@:%]IX[>3=!B1]>L1'5:A)>Z[!,L8T/K!5Y< =]/!F1E<E\W!(N<*]G
- XM$\VZ#$.ZMK1V@,Z;#!GWNLQW<Z)&T<I=0<H@P =G@\2W)A7PM2N=W)^XC)SO
- XMC!AGT\MG3"3 ');CBTT\9$P3+4Y9N1#X#,MFRL\G ARS!- @@,2;.0<%7;I+
- XM^Q%CZD)F<4]PL- NC*>I8[:HIL\',<\ND<X!Y*]G(],F8;;'5@9X^Q3(J=)!
- XMVM(-"=.4HK:A6 8UC:4W3<]/1!H\_3Y(HXE!/=0I;39'?2A)O<@QC;G29],&
- XM@=.:/-7IV--BK5!9W8];O=(+XM)*+0* 6@:"^G)DC<DY7<]4S4.Y4]=W?55M
- XMK:!%S=4L[=4O#=:4@KIX#=5E+=7JG-::RJFIZQ6#3=1K:M2'+=>*;6N *ZGY
- XME]=FK=-]W4BY\[=?$;B";6U"_1B.+<K]#-(@8 )GXP<DG4TG?="W?!"YO,L-
- XMO3Y-^<LA["WE-M'QE-'*S,P_^<P"L;)]]$=EP+ E(,VXTC\12L8@,!4SI*2(
- XMX1?X^8\BP#:HMA'8#2898SW<G;2+H:M+T124 @/C;1C7:BG]B-TY,0:PHBI)
- XM:\Y+FQIP#1I:H<*=/=TS/-NCS=<D>AG?^=H>[<\BC<3OEMN[ P((S=M;RA2Q
- XMO2O)G<^ZTUFC+-L/7LE<*>'GO-=3W:!D6L@!2Z2JYM&<QIP0'I9UO!$-#M+<
- XM"=G;.=NT[!(FJML3+L\8#D8KS=$=SBX\2ZN/:[%!A!/#[+6JFJ\6>S;:4R=T
- XM2\?N>\<J_@9#:L/6EJ_L#"W;0[<#C08S7L-VEFI&T0<@T-I446E&WH^#Q!<W
- XM4A$6VQ4Q-:!/@34NE4A_-!4W(C0^FN6W&>6PK>4"6\DW3+^W^>4>O>A-/I9&
- XMT!PH8)Y*29\>C>8'T9^6809T BU%( 15< 2[?10HK,(O_*,C$,/7M%H,RS8E
- XM ,X@ <;T6H]$,,;$4JU3@8E, =<X 8S[-AF+AHL .R*?NC3-NB5?!G#7JF#
- XM%I6.CFO+?A!07LD$FTW1;A 1';!1+N5ACB=6#K[-'I9;?N96^P.4 @);@.1X
- XMT@6'Q+ B4&V5D11+@1CL0@2?'NI",\0A)+R@[15 H\1&W,04!,5N(,42"G'^
- XM=),@T+(-FR\-ZK"(\X^#I.YT7LDT#"ODDP?WDT@4_T84&;W^Q$=/,-_>DN./
- XMT35J*FC9:I#ZV%4'[^_^A)#"P;,^,T4M@9]\E!<,_Y!BH14G4!$<:^=*H<UE
- XM< );E-UA !L(&AIN]) 4.AF*QFAP;,0%YT\S'NY=D<<'L<?J2Q#NV\F"3! L
- XMNJ.HC*=*T370E3DJT&^VC,M!\10;,1- T_8'4?5!<T_$:3X)O:;3/FV&/>6U
- XM^NUVC/6&CL%BZQK<3N5X8O=E7NP8/#C'V>GV#NJBG@ G#$&F'O'NW?$/!_-!
- XM@P*NC@<+@<4-&L.]_NO,CLAM@.7.[@./'^]*L:#U?N]'(#1ION9#76E+BP7,
- XM*05'( 1V/P=7W\#?H^RSS?;8*??^!!.4FOK4% 1?X/M"\ 7V;@1!X)-4\ 4$
- XM# 7)O =OE/I)NJ1-F@9/RO;V4Z5I(*=+R_9OZ@()+AQP7>P#:^RKI> =GOIX
- XM?S;L_Z6D ?*17!R<CFAX.LI'J8S"Y0L*F0][. 4Y< ;$ )-3?!4A<X2^EA(8
- XM2A\9.'W+;E6)A=5'^,:=:$@U(T#>R;Z",/GPG:I*?:3+4[6G-/?:L$"D6PN3
- XM[I$M!+:G:_J3S&ANZ>,*4(6E0 8*'OMH(L-!08V$07+"',)@: \;P1M=*ZI
- XMSN: #_Q&11 IG J-)T?4FYA@ WQ$!QH]Z\$UE)X:$0NO"I 8"L-P!T9"Y[-B
- XM<" RK"S^AISRGRDS4ZJ/TPR!,%C9T.#P*W8.C QD0#[5]U;+1M B7V(,^!&C
- XM 0(CGP L@97/ )8Z4L/T7H1[.X,2$ ^4@!DB:"P@!BR !N&>L#YQY_JX7 B,
- XM??2.!-(^0+>,6."$RU>0,.;IOS;PNX!7 G@TP4B)/1H&]:/@ #(*&MA-; -
- XMON 7/%[P6E7>2';T!3J@DD8"Q6MC5.-<P<);V/BR' O0A?Z$%VXG6XAE_,GY
- XM\A9\;'V!BZ^WE6J)BAI[HPEVL"]H" >DX;&)A>""&@*-='$#0<"HH@)50 HX
- XM :%1:= A.3PV5H,G@++,P#*D @L8'12!?\FZ]U6OU(7T0!RY0PA@COCR!IJ
- XM2_ *!)%9# %U<0;&P%@Z D- ,'&C.9 *J(=.#8B*P%(CK6@$'^&*JQ=DBME
- XMX<#@)4'P4R(AAURA+U %%+#-U-0<0 -D@0T(AZ!W)ZR'3Y *^DQI(2=R* VW
- XM0&,R;"?@!9P .740\\6R:8EDH"0"#2,@$YMAZ\N#SW AED.9N <3@ GHAVB
- XM!9@ @$@'Q"(Y%(NRS@3D@1+6#A%6$E!8T\B%X,0[(1P.8$7 9H'A)3@%0?.J
- XMR !,K!-$Z8ZH*ANHLI(5PXLC[&,HE:@YLK/ZT1@4AGBB&((CI'$Y3"(<& AK
- XM< 8AIZ8(!P\"3$QQK4\=^I,MT+2"0!9(&5] ""0!*K#]%ECJ XN\#&F@1K!X
- XM;(P"68R-)P,UDL7:>! TWQD ?'0K@H$/VG-7<D?3>EI08"@%A8XC42@*>\)]
- XM_:C2&(616 :DXDE$7;E+75B;PAB\YJ"N B39ZD?=*]&("U%"&5,,Y'"_61N/
- XMZ *JSFCY5X+.!YS!J.0"*,G[.3;L$>W<.=#(">=C6'(!VXR3K4?5L6R\XQ/!
- XMB%:1$V+%YH<1H4],X0,8\?X,/1/@$74-)+N%<I .!J,$&; 6Y)D"B__P@E"$
- XM\%7L6HVNP0(-X2% @1UB-&;<6;R0U1 .L("*R *$A_ D62Q1NK(&' B7V 9
- XM0)!7KB*6L*5%':TC',AK+K Y;,@K1PY+V.Z:;"A+W\&9X/5H0(H2NX)@XAN=
- XMP2SF%,[@%3$,@8'BG4%DJ#J4(:RJ@QQ2*GG)^<("Q.15F4I7Y1JFKY/!OK@A
- XMBO*&\ H< K"NP;[69)KH3.)P&W8[.G &QY*5!!>%$G*XPR( #^4A/;0V=@\N
- XM90[^&+!2X?_3C&LJ!&@PT! GO]_5RE21RUAARN3D)\N U2J5N<--LC7CA)R4
- XM4W)4/"!EQO4;.*E0K@BM] K=CVVUP:OR)5>:JO1&?( /8$*#X"J[QF.(E5=N
- XM5OY*.7 KY4"N/%-/,E2J0&O3GI:6<@*$8 )9@J]9>087W*6B9B-!6JK$19FP
- XMB$!<O(DYL2ZBL#4G!U!"7IP#>]$;31+^\1<48U'*%V[F4PHK['BL7.&C$8Y6
- XMDD!A21OB15Y>8! TIN1[#*V8H_!2B#?K(09*)\R!KJ'QH )^6@HO HM]P2K)
- XMP?A*F.!9;L(UQ J-Q[%\XS?*"Q:KSPV&0#($%4/'(U%\Q&'F"YWB"+V(0"*8
- XM.,1@B@6A9CWR@ACH<US!/'*\06DP,\>2PVZ#Q%)20-70&@P>S"23U$-).)HS
- XM"3"ORAUTA@;35C[ 6M4MK0W7HY/;\(]U0SOS#>D7H.23B))7SI>S*0?JY* L
- XME/3*?H$4IMD&$F4"<$MS4WG!S5&I*8O=!E,H"X%214O1Q3>QP*L\EE;SRG5
- XM^>C_;IW:_"&S+61V2_6W*VOE?#%LR_*?"<M552QA9>*T8,7.4K;)M_DF38#D
- XMC)-R2E^&2]&E+GZ5[OH>6_)LG,Y5N1UQ4A$HE^=R+NI$$& 7V:6[C!?P<FD"
- XMQO,0)'B&4/,H0J-P8LLQH"T''RILG)$S(]5-U"DXP25*S%O6$@LLS^;) H#C
- XMXO-_:=(#)H44(!;U)NJ\?TER+8 4X:<XGR?"DY&S#07,3J_@ JBA4".?%@%N
- XMZ!K5>3US5Y<+G=CE/XX<E\/!9*?T/(/U4XD(M407'_UC5P"0+:?B",<K(]1R
- XMA_E4* D4#RQ0W64]^:64S O(BRLQ1XI3<A3*N5P?UD@Q#-"*\P*4U\:B"F#A
- XM6N6%!)!#SB 0X9T8TAOI!Z/!O ;ET]LM;RQJK \1&D%+J%=(DW(R&]9)L7DG
- XMR6:>-)MQ,R36 3C0Q:A"Z+)=U@8=DD>VV2<?IZC47-G.T#G0_6 &=L@9R!<F
- XM@"$D@1%*<NK@\JP7<BH?8@W\\26:@N53H"5J"X FJ\2D$M,=U:!Y- U4*=H$
- XM0$N+ "VB==!3V<] .DCA8^L;HQ"T.4K0[T%!V8"G2I]UD'V"S@;:.!<I3$@#
- XM-7)_NL^+\A_+J*S(%U[@; R!-8I(0<H;)0.>:HI649-%V?PG7/*BO RX^3*(
- XM)KY6J!$-*0.DE9J<>-8J2^6IQ*5GXSBZ #9*0%<E& T!QM13HDHI5P2,P!5X
- XM E)@"4P!*%"JBL 0> ), )LF)M_H/9_1]V@]Q?&*IL3:F;020+0:#-/*<%2K
- XM]>'G>E;.M*&5$6@DP<!@-'R&GVNG#&];1< SJ27?)&.,"@0&A\9(GJ'QZL06
- XMD7AH@%-]/\.(& 0JT)HS4/ 6;@2=A5 UW@ZE"F*@H5Y!B,JIU".:\AEJ*B%X
- XM4:/8!<P4Q2M)[7!+?LD%\8].X"C-<I&4A)8!*N >K"C!. )? *1XJJ7U+[\'
- XM]Q1?I;)[5M-KFDVW:3?]IN%4"CQ+@UA(2>D#-:5G])^I4E8J27_I*Y55*9!2
- XM]2IV8?U^DJ9" E*@"@"ZL9443P!,G1E:,2;V0IM:57&J+]VI/34A M5@Y*EN
- XM*GV\JW.34HK1 /I Q< 9@ %"55>NJ648(]-DL[25)H \3M56A;O$*J4BJW !
- XM*%$!M*I6515;Y0(PP*U^JH+ *8Y>FM *^6(I3$Q*0A5<*/)RA$Z!KG)20_I
- XM[RI/10IZ52X\I-NEJTH785R)*(K/),P_LC"5 O+4CUL!.$21\8$2+M\3::>S
- XM@0U43,20'"$(,ZTX%PMUF=2EI4RKZW)$I%>*4G$ME.JUPBC!(JS[P;;V5#DU
- XMMH0 4-53HS6I&*$[MR5/H/U2"W1@@AG7.R AR4#X] $>\DSYU4/:5<O !,6C
- XM^Y.R]E9/U5[WZBU\JP4!N=9%#&E?L0!^U:\GA;^^G\NR)#?I52Q^>E"RRBI,
- XMVF'MF(AM?F'54#DJ]ZI;C0:$C1>P@FK@ >3E0EM IZNP%S;F]-<22R+C8X ]
- XM4V<*!02C]/20$FR*]564"D5Z-SF 83W*?\V#-9!5KBE9^D2L%I5M"42TP!Y5
- XM/-8*]UT(K25-5NAX(R7&D%P0%.DDD80LY(N@L\56U1E\2@M!Y1$\7_@"WDC4
- XM:S1?ULZ$V2V;Y9*H^EJB$5&0S:\L][^D*!5U(^HT;Z'(JZ(NS, 9>(:'%=+&
- XM $A;/ SK#."B:=-R_DDI:UX9)VTEHV84C:K1/7M57FD<91WZ4#C44:?P1UO;
- XM7.H"?+0X42I/ZJ4:J6 ]KY^V/IZ!&)!8%6NG35=$('726D&Z @CI;+6J^\&P
- XMRH#$>J:&K:U=G)#4TC);=>%LBZTC[8_H5=<BUM76.E6-_?*1Z_._BDY/:I5"
- XM:5^MJ_01JZ+2K4IJ%<I7I517UJ?R2R0[FI I.-*E#ZT,A%$%LE^+"K_-L#R%
- XMF&9*8TJIING[<%K+%.>L-G;Z,M)' @BH'*Q!+;D[D$JDR"S,(8LT:+H/5*G>
- XM$H#\#).#<B%P5)Z%&!6J4%.#@&YI;<HM:0+2Z&OCF K%L2;5ZG<%WB(1> )7
- XM *IB4[.X:W/E96UN*^OA(H9PM3_2 T=U1E'DZ'4'PVHPAP*?.H$JM]@!V]09
- XM*?O-M:V4_L^/BL0SD$$KZ*WUM,BV/9Z!:6N_1LA@*#"?TX[-2A/@:'5-\WL2
- XM>. +A*(:4<^^0+,Z@\*/[3Y:$V!8)RW?/0/%X^_. )X+ ]AB6[R=-I=A;0T#
- XM-4N>I'W"EY.A^6G/F\D]UZZR3;"3-Q!67GTJ>#'O]DR[4XGS&M;"JW4'[%4-
- XMM5IUU"I<=WLSZT7I1;?_<?0&5IYQ6+NN)6U^IC?9[MK9VW=MKZS*O;IVV190
- XMVBL#?"_NA;V%]0S, -ZK?(WOSRV P:L(:#6792Z++E7@J&H <50$GM5WH:\Y
- XM\U70L<T=WV.+4]5MZEVE[=8KO-OQ^TBSK>P=ONP7V^;:OCM[XR_6G;^ M_X*
- XM6.2K>Y?O\.V]BW1:@E\V=_^ [_LUH6=#O/)?7<MKX2]5);_T4=GJWT#7?O&O
- XM_T7 T#;;!LB\90.75KRULH<6RX+9U7M$KQR+$F*N,,^*!@?95$SH\4*AQ37#
- XM4D#10E\YF)R%25 SB*K@I,""H0L2]9K8\,^&S4"+)^47(8M*A;9ZJ(MX"[E8
- XMYZ)5*(:*V\JG+JIIOVC4A<"E%/6FT57:@UUIZR4#I_:3J=K9< 9:+1O8 I=)
- XMD>)1EGIU!VNN=;33%I.&6Q-<5_7I(F4!DY;T*F L?'I/*0A(I6JT"Y?:+QQ+
- XM0["\K:744M487(>6C?:M>\0_XX<%/.(6_%0$+JGTHL>T"AM'A"N(:><-Q(P4
- XM56=*W*U <7N>_B"H&!>/3M3@A=U0Y<?=FG1+Y$Z%QGA]N49%6*0H-WB-/#]'
- XMWZA"]F4)&\\^UHQ<S ;YGM_DE":TY;[<,\EG/]3,K:9& )NZ!2GP!*J PM*Y
- XM4D L3LX"O(#-KTCCPM4'$LN!=_N *W#8A</#%X$&8&H9?KDQ'R:C8W?X&N =
- XM4C-LJ0<VQ""XBG*E3ER"/6Q80L%$+'CM8#?07^?F"XY008=@;-C7HC-O<"W)
- XMP5)/B(*/6E*00>\)!L)S4AOZ,2+L1(TP.*PTAG:6)EI#R6AOJ3.=PIG6*UR1
- XMQ'2%S7'YU<)JM"*SWD (1^^?''4=J]8,HV'7J)./XM>-MO'8F7[;YC"'_?']
- XM]7PLX [G85':C5$O(%ZE,EG]$F)X:XAI*<JBMR99)5_.W]:<\NV^E;#^%BP/
- XM4Q)43#%QP;6WRC0J[R>5"(J#%\0UH:-8.)3B;751"V;&;:>M&)>^8HHGBY/"
- XMQBNYN+B=[N+!T(M!P"_>OOUH Q/C4;ER.9@R3GTPMQ_;,:3J196J$1 "I6H)
- XM-*UJ?(W!Z<XU =LX/ %?;[Q5U3(YIL#R-^P:UMFKCO'H<R3 HGD!KV9YO( W
- XML#U&3A^8*NMCBKR0UP\2[;)3TM(,48K,=PSRGHE0/]/N-&1Y2? @,IX=SG8F
- XM[G@5BXS',+(2'<+PJPB_@4&+A*.H$E9657DDX\V2##?W9-M,R?EA;7+:T0R3
- XMH7)Q'L0T&0S;9%0[1\>P'5VD.UD- U(V_)/=[WL6RG+XJFC2R5R'_4E2QJ-X
- XMV-SN89><;IUR:?[/4CD^%V*1#"4YL"*VMXS8*8FOY#R=D\\SA-#L*BN1Y8%K
- XMEJ.P)DZF"%<ZSQU/S!V%KBC^44ONI/PCJ27SAE;%/<48-14#TE4L$H6F*_9&
- XM?/F@DEQ;;'*QH& F>?WH, =C>LPKMNMF/,8LUP0LXSG3C"7:,[[,V-3>20%L
- XMK(W/9VQ^Q^T1]7[C)*"B^\XXGLKE.#7C5 Z]HKV1_IM0ZW@ Y[X%K:8C,(AN
- XMP[A6-3/IVSQE\;%N?B)<J4Q7Z:P'G)?%0%9$_#@P'.0I9F%B,/+<D@[9SHP'
- XM'0R=10.B#L>46 [\8'<:A,'F1L[.'7D['V%#9FU",J+MG^,9"F?EM6R>J;!6
- XMWK2,N2G[X2V<!"XU]Q''IG8^BV%Q=9_7<!J>M6O8)V?@7&M\@K)E2[+@5D"+
- XMVTZ*H)?RN073YO<IUVH#=*LS]6EFPH\)$6/E18QO&['X:G[;AP9G:HL6KK-.
- XM)1[1E[@*YS6#JTQMM;B&+BRY+*OK#K?W.NW?Q)5T^BCCU&(]>PWP[N6V1H$
- XM U]^39O!M&U.Q D -JL:HU 8C8);KJ@1%T9O!1GMWFCTQ+W1=3FC[NC7EJSR
- XMLB;>RR%72,,Y(AV8G9\N1M*^6/MN/,7,L555O6[,R5A*.[^#$)DU-1UVAE?:
- XM"B0!*0 /X4(T'E5<&C1[Z7SMAL^QF-ZJ[MI<GVD)3;3S]+X.0,8Z,+QI#!JG
- XM;Y_"3M/ZFCX2; P,? ]VZG.=HS(W+V%#S)62MOBQV4;Y#0!D+UNIDX(B4LLG
- XM-$*Y%_DJ5)8SMFK.0H-23V0[\[9[LSC>U%]3(]M)03NJNT(25A)CFT*+2[E)
- XMGJ5PH%Q[7C1>&V-HW9ZG]8@QS5\X#*=:7EV&\?.OIK;!VM@RZ/]H?Z+V)4W6
- XM"F5 ]UB7;(>;M8+&VD7[)?MA:=VWYZNU1M/@F4+/6QO(K;NRMZ9?>]#^^.UQ
- XM7<RBD-)&9N@:FI9H1(:6$6[MED+PFM,J[WDM'2W<Y&Y]]]I9-FVP^[0O=]3&
- XMT]P[ N=?@'T0!/8"+MW]6C;O:82ML%];PSX(#_M%$YH8S6@JMG"XV*8X8^OH
- XM"MJR>_3&U<M .F2/W)$M1TJV7CC9O+CD&6:5S;-8MLDV9R\;2CMFF:T7:#8S
- XMILXXNS)7/YW-LZL 7,#,0V )!.W0O+TA*6E6H\];:9_F@0U^OO?4II]5.].U
- XMXR\]NA\H^B[8-3S9KN^OG8C#MI].W("ZEJ3PL_V;^R7;WMN6^AC%2..,O!CU
- XMB $!P<ANTT))G;<C\J%6XK@(;1/H/FN=A?"G'INBH6P26N^,N'/WJ5[<3]@K
- XMF.ACW:K1\TI>S[(ZJ])J112,O'!\UMSUF7/KY,_=DT5WG2;=6#P9 6C4[154
- XM]TUMW8 T0>MAV.VT&_3L1MJ!7!C-9##A>O\T(,G65YEW8^ANK:&!=S!Y,K?0
- XMWP*C4#Z6^2;!Q7_-^VG1<5+NB:UE-*W>!J$E<\+LG=>, @L'Y4L<A_]Q&PZU
- XMF6U[:M^I[WT;A/B])>,R3JC?3L%BDV*,?7&+]$1UV/[;-?QHD L!^S(M#B2W
- XM&(^B7&@^F.5 85;2/.MM'P$$VK(AN/6VU\C8&SWF"FX0:K;,U>#5E(/W;"8
- XM!9( %MA^(WQH,_+PG87]\)A>Y;E\DA,)6%K"L^TH#^ANVF :WZ\]PPLZL8[D
- XMZ1M,;VTVS@*Q\CVNHODXB/-MB([!VU6A3E97?/\T(!=\G)WX9QE6]$.*AT<J
- XM#C+T=MEF0/U.BZ_N?]S%/?7@UL[<F50#C.^,K5$UXU;5Y1DE0^XJ++D[K0FO
- XMW)=ZI$=H2BZ?P]--IJ-D>(_S9/PLK&_Y;SE ;'PHJT]E?;-9MX%6RJ\;-6?M
- XM?IY5:3=,M^-,?4*?ZMU]H4_TO?7=G1QK4A^E#DSG>DQ'WJ9\>3NR5.X"DGI,
- XM+^K3^U6;2GHM[<[W6=?E8[VP[O!?/J?=-YPQV2ZZF$MLX4"QD_G]7N;YNYG?
- XM9<CNL07[F@K@U5QDU^("KLW[=S?_Y@R\'PGC)OW 7YLL#UC9>[91<';NSKNZ
- XME8;G1D">>W F$(V= !7(YX"3*<;Q?/'/#[M K^3[')+:==8,IUWS:U-S5UNL
- XMQVZM;=P3^CR^C\^]AX-1L6W&1?!&%^DQO8CWIR/^TD/0=2'I3?R3G_0CH]+Q
- XM=DNWXFW;#;0B$2299WK6J^F"FXD2[H]<JGEZ>/;I:?P\!_7'72J+.GN>U2A\
- XMR9SWI3[0\3A.CNJ>>ZJ';O"MW!5\]%87 3IU+^OW>: 3N;-VZ$;[D2=X\PY=
- XMKO5_9^OUUJUG:.'FR6D1="'7%C[@)N]3SKS=>KN.\0OWF;YRU_ZDXR,MY]B%
- XM7:+C>*ZMOK$[DDW8C3V8/_8#'MDC]OR>V,@<!"ASN<S,4;$S[]^=/3U3#I =
- XMV@?X:,_F@'2;P^\$<-H5.#A7[4Q:S ]S<Q[+>SSV3N>!89W3]@L><VU[5WBL
- XM;'*#[^QYWK3>#7#'E<*=<OMS2$[BT?I ?]8YW/T-^83>F@$I;S0(T'U.)W>#
- XMONBE]K#6TT:^HG=@W/S#NSND^>Y6B+[+]!/<"EVZ$+=$N&)0JVW\#FA!=1A_
- XMHF.\T@CU M_6/3M7#FZ\%'B+90^]Z\]U7E?7KVU@#Z*(GNCI+[<UWQ)]V"/V
- XMZ1Y[3;<1#\X#N06AE_#"Q&&PM']!X:6]X^ J_IR1.+EP RZH!JEZ/VO3]3M.
- XM+]PM"B3[=\7MA ^EH]T(HQ?>[UIYSSPL+:8=ZH+=P _WV:9&K[VXA\],W<%#
- XM]5X-2&\'7:).><_;5EL_GMCW0PD2 H=UVKYV0S=U[Y\!Q*.W@]@R?&;_0!_^
- XM^!;*%[_@UUIKVY]SK<>_P%D]Y+M:C4_ALZW';\!"N5=E^$*^X9$RN06EBURZ
- XM-W*ROF[[/;B?]BCHN!-T('[)*[0M[=VX7M^*K_P1[G?0>+%*/Q_;!WU?K^/U
- XM>B;DZ_[>Z;=R>2W8.Z-! +X>?]L2>3!]@"EZD$_T+Y_8[W+="_/-_M=?P!Y?
- XM^([]8O_QW?ZEQZDG7^TW?%V+\EFU+3?L(^;:ZWV.OQ\F.JMF[-'1L8-B:/Z6
- XMO9$QG\L6U\IGW"SO0UJV0?#R/4O- [H([N/AO&P'\NV<SM=WRER%+7/-55@X
- XM-VCW79\+.:#OPANZU9=>'E2D>P5;BHUHNM[7U^:KBA^>C$+5G91W?QUZV^G(
- XM=3-NR0^[AM]3H3*S2V"XYP8TT+.M[2K_@P!WY:Z8H+M/Q.X2 ;R+ O0N=NJ[
- XMWQ_PAO_!.]M&+UMDV+:S7#(LAC 5#I3C/4R0=U@^/\H+>I\__/R[<6OZ3[+/
- XM6^?!W:PL_\K7_H3*\'_UG?T7_NEA\M^!EU6-:5D?M0?P'7K#W]FW]KD 81_S
- XM!0,L=*D/V!?U07QMGZ4'@#EW&M#=1Q_%?<Q7\16G98!PWP:H?#%?,\!"EZ7\
- XM?4)>X!?U,5^GP0D8Z25^(6!O$ *F#PP/5" #Q'[IP9D'4NU:\A^@@P(*>@O@
- XM5M4 3GU+6UJ7 *: +@C$)_:Y:4\@F);V%5!5(-JG LI]5& (J %&@2O@_[5K
- XMN8"6"@R8Z*D8,Z 86 ."@$=>11>P27KLG CX'U6 R][.EWQ-@7X?._<%N@@<
- XMX.!G![)]S%8<N ?2 1 ?%VCI^6N&X*.G%PR"$%_?U_)98(&@'@CXR1AIX-PW
- XM 29_V9U%Q^EA=);<I_?J-7T.8/^WQ7ETS]ZR0/4(:$H,\C)%K5F(U L0=+P
- XM$A;NQTI<+Q'9*:CAV7FK'J>6D;5Z8-RWYY%!495&@.<TE&=/G7U6AJUV P0:
- XMX#/D+4)=D.!IZ'OQT;8#YD! @L\FM.*4*7+*:I<0,6F5U'_U^J@+&UCN< 4H
- XM@RU!-X@+BD]N0 W4T+5^3Q<(L#RY$=K@Q$4._@5"DU3@L, D!H^EI 8Y-VZ1
- XMPJ)XM7^-E_7T>&E<KD'FE2U-*+G?&B<'N !? ?RCT)4,HD'N@$!1$H1)PJ<N
- XML"E2CP]# ,ITP1_T)[0!3I,+DR81-G>.GK>%0#6$(R$&!1'Z92_<0D@1^E0V
- XM@-LP ]0 G@I&:/\8A,Q3_7?(>83=DJ<2#K:$"]VFMZ:@ ,Z@69!+P74LGC/4
- XM>;P5 89%LQ1B'AE-H)?H/85P14)4/=@;1*%.X&EL!*&2.AC= 5]488"QB3TM
- XMD4=;P136+T*A49=MA85JFSM6[(F$9X/7IO/Q<[75/)@[K':OF:0W%T9;<"'/
- XML,/MA1J871@7SH.VU$"6J!5QPIFW1Y -;SX8+IC!Q'>"6D?WC]TP\5WZ->IQ
- XM65U.92A,B8+VG=JVM<1W9IMOYAA2AHKA$"<:IFV/86E8W5V&?19I6-Z%>@L>
- XM:T@*)H;O"BC(!"*&(9V5P<H5@*1>9J@:!GZIGDZ(&8YWP9D1$XQP1 2*$9-"
- XM407D4?4"]=""V0LM<QP";IU:?L>1O7J_8*Q7$,TM>,)&D'VY :5+,9@_( <@
- XM4G8C(M4/6=0MI"Z@,WP5 U/LD$=; *@S!60!7\ 44!= 5! 6X"9H$ATD)$4
- XMZ9P(&$,8@ )0*N<@@ 5B94"4SGR2 L@.B4/MX#/ ! PB[1 Z@$@1(NAP,E@0
- XM3 ,=4,+D*_"A7? $. &IT6K4&N4.@Q#VA)PH4^74()($Q JSPH9#Y,!RF T*
- XM8"2%!&, HN 4/47LC7]8%;5/>-"!*/^AB(.2BL@BYCA?4>,0%LTV.9+\EYWD
- XM-,$(=O(=K@%.HDBP!GA+1@$-QPEUB-\4B*@:L49! !2 F;"'MQ"BQPF1 644
- XM'3"(3# >1.Y &VUO9"*>,(@@ >=A[K ;98)I(8=X"VT!'J*6*")VB8[)*U-D
- XM$79O7WR$)7Z((2*7Z"6:#4F6@=02^(?F48!X-7U8?X2R0ZDDB.C)4X KY#>S
- XM0MCP(%(GE^*0V$'X0Y;BJ^ IDD6ZAADX)I:)9Z*1V,%TBO3"I_A!!'LE$JJ(
- XM*\")&>*J*"JVBG,B5F8GQDAX8I:H_00!4\ 2@)F4B.@:D @!#2(GC8O8S'A]
- XM,>*,6 ?4B!*388,%0$4ZHE_P*"I(/F((:"S6*LBBC3/;E(=CT7F8 1D%2V)#
- XMTB3.-D]BE @>4HD'@948L R*("(!$RQ^B4QBF$@GPG&"XIV8)_Z*\Z)A4R(R
- XMB[LBT- K$HKRHK"(*&)XBF)UI!7]AVV H\@C^EC98NI#*=(GH6*N -)HBD(!
- XMIS@;D#*NHL9H,>X*&"+I$&7]3_DBKP@%4&-4P!- _4@!0< 5$ 0( ?KAP2@W
- XM:4C,T,,(*;X(>E#^I#-Z.4W.AO@>WHFET6FD,FR)(V*!U!\NC(VBM# @J@LV
- XM([88*>I!DZ(,]#6@1K;#1C UJ@SEX=48,E($ %E ML30 1A1GO$U"CQ/3.TW
- XM2(2-]\-.I/&$3$&)/>CPU!(QDS*8+[0!*AO'HI!<0?A#&& &""W&X2V$0VP%
- XMMF A]T/=65,/+1,V4H>[(';6"W8EL%YW%@QB1!H189(O5'"/UW#1QNDC-Y&[
- XMH$=A)M[/I&414#C'1IAUJ7P/! 3XE@?Q+RC.XL3B*"OTV8-G1]DGI,R]5Q1^
- XM&HF)#I@^X%=]1B*!$2U-^DD80$ L0+"''- "_ E; 6-@-.0+&M,]HC %'7Q$
- XMRZ+>E&(^ 021L\B-!(_!XT*5$5[+Q$,T^1[,8= R&+@!T4Y!$#V^/9S*[3$\
- XM+CG&(Q2!/3(HQ%$O]!/Y"]R*/5*TT!%1Q%>@WL 3K%44,;$4)(F$:]4^8A&:
- XM"O5(EW$L]%*[=!E@!@N3RS!$J#?HU.\1/ H?!$\+4+/@-WR!ZH"/ ) ,3RG6
- XM11QS"8-ZPSWFC("!-'(%\3''HV$00\![!HJ=T(^,D"P2%+&M_#P8"X3B0?Z/
- XMPH'. <H@V- H&!2S8[_R*VW2RE]GMP'"7S$'JB'1=/\6!HTY!")>_P5>)UA
- XMPHWX,\G4$$!FS 09TTC ![P/4B2F)AQ<D1A12" &!!U-P!N0$Z!K6>$<8&_X
- XMB\V,;,<EE5/"40,YV 5+KTT9>49N-&EDRQ4UL0%8(0_9%'"%Q<IW<J*D#9M.
- XMIY-9Y8=!@!-0!$P!KPV_ #^.ATD7&T!"Z@2*( NI%4 1ILS@( *9 0S.8>+@
- XM1)%4@$S4>F !3T!$$(Y8D5@D5;1%' QY0"_$10X!;J0M]7BU1Q'+%\ 2I)(^
- XME2F)1]*0#PC\UQYID;F#'P #Q#**TOA8$=1^8L,C&?\YD9)C>U1F5)'&$1:
- XM![!QKR3W"+[!AT$C:D0T\HFYY$;TDN@50<<78'WE#C*!C% N# 9GQHV032:3
- XM0L$7$'=Y!1(!5' VQ ,5.M3$6T!U!A=\ 5@1/MAP@@D@3O*"P%!XVB2WJ()
- XM\'@1'W$@NZ#>)(S?R.XH:# =[]$=4&=UDG2 7R" J$=QX"MI!BR39\9(D$QA
- XM 6.!V%11ZI*3F$,XFCE['Z4VJ2/0+LH41"E18AB<$%] T)64R:0-B4/. 5\
- XMOY"QW$M-&!8E"!8[\^3/-HUQ9D3 /3D$Y)-TT#YIQVQO\.')2!>HC$0 R^@R
- XMPHP*S+ 3!\:!*$"#E-*MDE.DF8'%8)6\Y"J9J-R0U$L1@ ?<E$$"^33A3)4'
- XM@4 )_X$ )8Q!Z=P@E#F$0@FDF0R_8R+A*HP$7]*20QX-+;/8GN$7L ?U@GJ#
- XM BPKPD%T53&-!,W*0K#DQ#F3 TC%=U"4[)Q%B5%B,1ME1TD0P91H04CY"*IF
- XM(-HYB1;(E-1+33E6I@0XI7BV4\9'\Z00D*45 5* 4$E4?D<_TA" N $X M2
- XM>2<JE2GCRM@ROHSZ(8)82DZ6I*156:UMD5CD5SE3BI5D)11A5JH+:N5&Q%;J
- XM/>R<6YD^P)58).](5_XC)M,@D9!M28NES] +G920)>4(4@*7S:1EV<GL,R E
- XM+WG\K6G_VJJ$608*)^58Z *HE&6 -+ZN)3GY4VC2X*6.:1HF5PZ1:C::2E/
- XMC@%;P.EW<UT!KF6&!%LB2+3E4;G/)94H(U/I5/*64>6D^%M2D1GE/U-*=I4;
- XMYMOC59H,8&4.B5R2EL73<ND5#81M94%P4-)!">408%WZC@1)R\0$(5(&DTDE
- XM66*8E.7[P%$Z!!&11:E>RH&UU68(3>J2Z:.K:!'F*_,D4Z5-<5-W08)I-"Z8
- XMLN658UN:C!&F;OE4]I869H-$7G*5PZ6&B1%U"T8#FN@RF)C-I>1(4$:7*N9;
- XMR6+&E2ZFH!$ALC1V12\$%824X:5><&-JE1JECFE>GI7ZI4GY8XZ4S)9%&4O.
- XMDKV0W1*QN)%#7S3Y/TZ3=Z)\2!_:ATD ?J@?YI=ES7X)8LZ4_B6)24D&F)(@
- XM:DE@.II.)C6A3\J6#68&%#".1KBEA+E;0I6P5I8I16Z9&V:7^6'Z$\?E:/E"
- XM%$]7)";412Z:6.6AV1[X!60FBED[IIG3Y9I970H:O6-=.4C<E:/$Y80"*&F,
- XM 4;E4VYFUEA0B1'!>RZ">F,R#2("2 K0/.(0)0H805@N3<LFKJ!0 0U\!)QX
- XMD/Q,4H%ZXVC!@HC!!HF\+$ULFAQ024 LN$*^H*0,@6HB>%5GHI<F)7E96?*8
- XME.9KD%YVF>MENN7L(9-H02R8<!)8.E6@F5Z^/2C:T\)MLI0!"WY9?%B:M&9H
- XM:5-JF@"FN"1@<D+SY+XX%T@!!$Q<@$\JF <2J2EE/IBW99795*Z:6.9%>&'B
- XMF5YF%BEK8I']E8:I:V:1'F9Q>6F&E;8F3AELKI4IYBK&$!B;<F68=%VZ-^4F
- XM%K-7KH\U%&,0-) RN5A5H+%\08N6BM1"+@P5HS<IVRPY=^47L%?6(W3;9;&8
- XMO9?*)(Z99QX!.Z9'&5D>G._:9EE^+9ROI,,)9.I>$J<VR5_2E!_GK;EIBIR=
- XMYH Y,,:+P.(2$&KRAU#F;/ERSH40YE)I95*8K:;-J66ZG3EG#Y9S]IRYYJJ"
- XM$1F71.=_R59F0&6F<CEL*IW49=-9,7(55<704F=ACE.!JC4R.%VVS]P9<&*>
- XM Z?<*5[ZF0CGWED?=98;IS999,)&E63PF4P6F82F3P5FE@%/@!OP!,00T<)-
- XMY%D&"G]GIBEXAIRBR\@9L)2<OJ)J*05H:8OGJ.EXUI8P)Y4I><Z<5V:%:7F^
- XMFI@GEUEWSIHAYAPP8EZ?/J?G.00LGV*FU[)*+I^H9"]T=#J7)Q)^%7U.!<)/
- XMJ;DX<9^$HO<)?N*3&X'G"'NZ"QN!#/!<LF5J)FS98I*;BL&UA])E>UN20\!,
- XMZAENX\6R0#HW$U.:@$/D"^Y5:K"@#!(:: W"$' P#@LI\0"),38FW7E9Y YY
- XM)V-H=XZ *F '.'VZ -5GX%E:^G1W)C.9>T9$2":!^19! 54 %1"-#0%5P!00
- XM?A:542;Y67X*C*GFY,EJ[D&SY>6)<[J?-^@JR7EB0I7*YSETBIA%9XDY+IZ8
- XM\)_;]8E5H&X$F_EBUI50@7Y@Q5@/WV3R2!58 41 $V!2):%; !_:!$RAC6?3
- XM^"[&G.?GA+F%'I$)P/' T9!D#X%1:0T:.O-D/9G],*"4BA?*3*Z2*](DF2R"
- XMH0R9&*J#;DX2$?ZI*JZ20X _T7]2!:ND$E"_K:+_3"8J148L>84JV6&610<H
- XM@2F(NI8!Z/J055:1U^+VJ8OVH:[E1@!W6I:ZQ@/J+= !_%D:DSDNHSM9[G!I
- XMN24"*'! @ :CE.@P.H@RH#JC,LH21*"]Z LR7&*CM\D\N8MRH_87X:?H@7<@
- XM13C:7Y&C/H Y2HRBH_M7#/A;1&W)J#6J.0IKWB@S>IGD#O D!7H[\AER*++Y
- XM=#H%+&C4MX$B1 D95#!("**U44&PH%!<=H0505QEEQFH0NJ"SDT>:(8)^=%B
- XMZLU#.H\. 4D0RF:CY6]#&E6PA#:A7\ 3&H4*E7\H3ZF-?@$KZ24Z5+*<+8$D
- XMRHB>FG# %I"%HI^49U?4B&X$C^AX%HE6H<Z33!J(CJ25IT3TBV:8G&@+^8G&
- XMFN^G+&J*IHG[Y\@ BZ*BJNBOR8IBD:XH4["5RJ*V9"WZE5J50<$D6H[.I#4I
- XM+SJ6X%?OJ"&:C2ZE@VA;BHD"68#A0R<#NB#MZ$<GD=(RX!3<&1<%/&+"P&,V
- XM*@9PEU73<?:70<YA\RSJ)%#$N!E2T4TW20*@*/XCM1^\,$2X-2,!S\/'2".6
- XMPM$R$%%^46H?&<,&7 .%)*3 7+0B.48<(+#6%,H154!.'(%!-)3!*5!!^!
- XM J00@X&"XO (&/%"I A),)."1FL:!OTCU5]M6A H5T,$%71'& WU0KU P]@C
- XM]"-=]D483\83'> O+ OR KV0,\H.%0&.()0$!CZ#]?BYX G[4'!Z1]2F!F=$
- XM@)N>65P#[Z*KF*:^T(VR%N0$9$#SB!C,9?%IBQA4("@E%V@P%4!.. +E4 50
- XM404!S31[+DW+ AF0!_@0;01]FI0T!?_(!;EF12RCQ'WZ0DTS7L'$(L< $/EI
- XM'F.]E!-!E!$3F&(!B.-U]L4U4=BAJ,;?L8Z[VJJE4&TCMT,-X!J%,FVBK "^
- XM 5L@@+ESHFI_095G)@6 S+C_H##IOM5$/0!NP/W J? 2_@78WD^Q"52#$F
- XM%35$HVX!/^H5@ 2L1@K,#MKLX8''AI4**&"I3 #<F1H= ?_HPYE\^:#6AIB:
- XM1_VH[A5HXJ4F7XE@FZI$7*EPZA$PG*BI_1>SY:;>#G J$Y"9;7Q_H-C5:[5#
- XMZLT1X+ 8I#"F>P,5;)<<S/KX(D24W4A0T$[M#\!80O8&B %J0*3R-XXQC654
- XMX%T:)0W7D\-3I@%;P,F9<MZ3;U$TAIE4?[$"4_ %$*9.C+[U> 8[28%:JJ\T
- XM.;,.5I4!*5/PPPUI7THTF2C"15\.JW<>L(8'T*@L0%%:.RF=BFJ@,5<VJD[!
- XMHQISZ$SK(WBJ1HP$X&7014HT!H>#=HIF\'N;0AT0KFZKM*>IBEJBJJ .%9 R
- XM@HA'0*OZ!+RJ2T+<%:NZ ;,J+4,VVJI6**X*/BY.K4:O:D9%.\P"PA6LR@\8
- XMIU12K#XM0H"+L*TBJPHKZ+:L @K-ZK)X>B:JB^JT2H>.!)"J"26I*I(MA:7J
- XMK4:*^8A.<!*(#R^"%P2R+CD_X#2S0:02*EELD+2H-Z%*$<"PA* .BYA SJP$
- XMB,0/B$)^3"-;:S5!/#%C07Z@28Q,QI-Z(TRFIRUK:NJ7+2A.*X%A#[HW!)@W
- XM@U@2 7&CP_(5, :(AG.CAPHE[ $V-TJ0K-<7R!J#1JT(59GQ1.2,XFG-$YIB
- XM*,Z-T= _3#-Y!*0"KIA+:,*>TS6@!'> "+"8_5%X:IEJP&BI7"JA2A<"@MP6
- XMDHFJ4@%% !9PB<JK]"J3(';*JK0J!3'C;&\PB:X:L(( 1BH1<.W0*<"J="6L
- XM)JR_JK&J2$*L&="?6K$N-Q>K<Q.MSJ'_B'=Q$]E"Y(A\*GG$1<M*:3H<2%<]
- XM*Q'03G$M,8\9( ; @H?5FA,4G 5I1ARHJORI9*J92K@RKH:K";=P,J^!ZJ Z
- XMI^I>8*I[N*[2DT6 %5#/P:N0:^X JRI'^2H34Y@"$)?K/I>Y JR\*D[@JRZL
- XM+L#!BKK"K\<JZ:JL,JM%Z=WTAJ8/KRNC6E?V"?'#FM57#A)=4"TF!+D@+46V
- XM%T2$I(I!"9+ (D1;TCV(%%"0. L<DQG9J1/KFRJX?@'/:Y?*IU* *F#V"KB.
- XMJ7EJFNI[7H'.%/6ZP<:IT:O+MP7ZJ7<J";O"ZJDMK,FG O9]86H,J\&:J3"C
- XM]?K!HF.>F.**)SH!3*@3^@1 H5)HO.H$N*KB:[TZN>*KE2OZ>JLZ/K6$YMJ^
- XMYJB/%OPJO]JOZD)*.:K.KQ(KL]I'6*RE8/H0;V59$2<'HV=,J"UB[8<1O0"*
- XM:EAB\)1</,MU]4N12>@*V09F"9FR(4VG"ZJH-UVHEM,9;G$3[Y,1K96[I^2(
- XMI+Z5_2FBPD)8$ID1PPE?_I@YJ.WF$.ZDM1D?FYB@2(VL) J(FIS8U*K*@$9(
- XMC*%8-% :2ITL4MH9KJ4%)C:U9'93Q:AP^:Z9LFWHZ?FSQ+%=@<'3P/&Q^0[P
- XMTF?L9GH6"::H$2ALK,UD/;RQN.P;,,<2:76L,(O'GK$C6+\E&=YW?ZP7%\BV
- XMJ(-LNN>60(Z(K)T)_RVRTV4CBT4:/#4H[UEW?K#&GB?&R6H%LX(GJY0:F#A7
- XM+*MSSK*E9X\CD!8$0X XF\R2LY%L]8>\R)()@U\@=UE-0FR[^JZRJDOLO+H'
- XM9:E;*N.ZRAZNVA9(P0+\J-N4-Y4$P 6ZAC^[/@"T38% ^V85M$WH0:O$NJH+
- XM[0P[:?EK'>!$N\%6M*L41GML:+1T $?;)U00'^VI&A^&M(3B2*O0-C]Y:O&
- XM"$JT%"T48-&ZM-8&3"O3>K0$K4UKT.:TD&M)R\/JJ0\M4-;WJ;1F*DM[T3HS
- XMB8E1JP AM3&7$,NX.JX(+4G+TVZP'6Q4ZWY%?&]24#O48K5%K1/[SVZU-&U2
- XMN[U^M8]K0MN4DGDFK5F+?Z6T:FU+R]8F %IM0!O7=K4V+5T;UNZT9TI/J]>J
- XM9G4?L]377K49K5N[T<*U RUA.]<VKG6M6)O8SK"#E[\VU3ZV1&U;*[F^M8)M
- XM97M$";&J*EQPV-ZU#"V7NMBREW@@56O 6+5$+6 KV<:TE&U-N[VFMBIG4SO6
- XM/K4GK6S67F8SH.U?&]AVM(/M:6O3\K:KK5-KP,2IKZWX9@C*MO6A4.O71K:C
- XM[61;VNJV\B2JRMSJM*PM9QO=-GN?[4IKW4*V6>UM>]0FMYJ:$#NJ>*]O47/[
- XMVSZW@FH(-][>@4"M>;O68K=Q%VF+W)JV[:U-^]Y^K_+M9@O<WK>(JT)!W=*V
- XMQJUZF]O*M=TM]PK?@J]VK7-[IOJTPNUT6]SRM[*D=OO?<K<D)ZHZX,:WX*V%
- XMZUYUML)M>5O5GK=$+7&8%T"S=D:BAN<4LU$J,AOD++-R!,_2@SVS>FR,JT6.
- XM>ZR>XLBB^H(N*C"XS1ZRSF4B"TG>L^P?.^O(\K. CH_9>P*:.=XZVQ3$EO]5
- XM3RF-49L*BSS;@]&R&]&)E,\ZN>ZLIWG3SH=>KA8)YIJ9J"R9J\I^LK[B=SM4
- XML@"R[&6QYNH$8FXJF^4JH;YBP9CF#I=WKCW+3C&R3N[[<.-"LH#.<3O3 KB=
- XM5CART[JK3&V%.]^F1O7M$H#@&JIIK7Y[W;ZT#NYV"^&&N%N 85OB3KH]K'U+
- XMY2JX&RZGF]WBMIZN91OA?K>^K8%+WV9FERX02]QJNNBM:-O?>KB++HB[?8JX
- XMW2N!.^K*NAQL0UL$U+I1VX++XK*U+JX9V^.*!G#;&BO.NK%# !Q[Z(JM/$M_
- XMQ>,"L] N8PCD5K/EWG5(Y&:S_XLA&SE"$4JN+6-\-IPZ*#KK[.%->FZ!B( B
- XMGL&B/-M?!;IKVY3TRVITT.Z=)NT6NM2NM2O'IE Y;C]2IFV[_&Y2$!ERAA<9
- XMN&L=NGKC+KI7[G*S2:XWNQ&!L_BL/OO(KF+FC)1[SOJ>]>:A:N6VLV^N4JJ
- XMLI9_+CU[RL*[;NZ>>WBF1JME:SG*SK-V;CV;[[ZXSZ[;1JV]:P89,3OM'CTV
- XM[L"+[?8C=H"C-1[ N$G<_C%<?KN!&R\XY#*.V:'C>.2>NY.CQ:O(,KEC[I4[
- XMSB*ZJDHE"[U=K^OH/2KR9KTDK\M[CLZYI*PEB^\>&XK(@5I%*2)AEO #Y9 !
- XM;4"U@[,$!3>OL\OMZKR7F[>KQOJ\ "_06^WNLP0O8J:-&+U" ]++]Z8??B_#
- XM6YTYO$[O?F?D[J\%@1^!10J\N:PU D84LR85-;H^A%EQ*;C#31F2I]\38 3<
- XMGTE $>#;=5IV -UK]QX')J;S8]79%OBHH;1DA5E7S^A;!)2^IR\3D/JNOG-O
- XMW2L?<:UX;]Y;$"B^\MUJ../^O,?LX'OMTK%$+^(+,B"_?AW36QU&ON?>BVKN
- XM=K, Y]4[Z(:SA2Y&!.5VO38H0_;!+G?<ULB+Y<J[,^G,^^7:O&WNE5OF&IZ[
- XMJ%V*]M*\K\7:"RD1O\W)2'03L;ZN[_![]VJ(?NF^Z]TEO; A=+'\!K[-+^:K
- XMS!:^&T_1>P8<O3EO\EOH3;.Y8-,KY$J^VB'E^]Q,K0CIYBO.N@ DL'K4[!Z_
- XM%? 2"* LP%IOP$OX#KV'[P2<^*; 4=^_Y_AR<9#O!IS]&KGLG*++U2JWVVM-
- XMZI(FL4TMY[K"5KI[T"+8C26[1O"*N]]2FCXP>]OHHJI"\!'[DI:X3?!SBZ8F
- XMP:;BWH?"9C-9<'7[!/.9JL&JN]XRND)L%8S$-K=A,'3;_"C!5N +:U"ENF1P
- XM%(P&V[1J\!5<!.>I@]<;W 6KHWG?'(SK$K4]<*?[X7ZZO^X06\0.P6QP:^O0
- XM^L$2H!<<PDJT83"#"Y!1OW,('O)A_&!ZS/6K. 8R.!VY2QFD#5/8BD)!0)=?
- XMW\#C0WIE2Y\?H@D[!!:->L>&O,+_A(CVX[1*+^N)\K+*EXK(']+):! 4A" *
- XM '- N7 KA D#AS1&(\();SV>\!<'"@NRHC"]4@K/"BX&@8$*WUO5L,:S"O]N
- XMSI"*P8ADPS >,DR(-")X7;T6 E##-L9:M!XU(KPPJI<,9\.RC)O'";6^PJ^%
- XM>IO<E9&(.MRCP4#![VUB#^,FWW ZC.D$BJT//>P/_Y!SP#T<$&,A^(I90 9,
- XM42@ .HR%#,0C39"Q/N3#P_#K&Q0HQ+.!/XD-"\3&< 7LB30UR[!!H $[PP>!
- XMH!4-D\+B4+S"8S0,4Q@ZHT<U)M<P@%-HOG5)W[XE"XL)FD@LK&,T->7P.=<W
- XM\1AFRD2Q"*$S+DP,4^"T:WVH)I+!-#6Y SJCVQ@%&D13(PP'OT"$&I$&="A$
- XML?'[-0H@8J,1T[ T!1#P,"'OM(V*P4GI' )1M2 M Q:GJ-:LN2?(2KQQ$S#,
- XM01"?[M#06D'<1L6GI\>5;+%!@7CGRR*_]>O;\^^VP(*O XSC&KZ:RA=+/R"\
- XM!W!24!C3 7!QN OQ0KU%;@?L M$/GL9C"B[$EQ7G?.D8!P7=F?U"\4J.MJ?W
- XM*\GNDA1GR$H,^0 :I]P4[Z9MK.RT28U5FVEN6@K_LKSR;\EKYL*S"*;[2S_H
- XMO[INAQO3M@3]PA=P4D[!J6HHJ]J6N"<E=<O;<KC_+'(<TR['[FVP2^(VM='Q
- XMCSH=%\"$\>F:TAW&;6QB_ )#OU0!%2 >6ZJS8#*1Q^Z];H!ZW"\(()7QP[LX
- XMBG%2[[?%&9L%GK$* !H?7$^+?/R"D,;S2G%<'2N2RC']P!R+NMSQ<.P=.\?,
- XM[F!< 3>LXJH;(("PP.5Q WP>,[,&K\,Z&TR4[7'J\!XGO 29AVPA*\B.89"[
- XMHG+ ^?%F'!1TQNS!9YS2A<84\L.:L*:W9K!UG" 'QB MI$OADK3=\0;['9>Q
- XM*#!\?'$:QH O8JPA/[\<LDJ**X#((ZJ(C/P>R91QBIP#K\@[L&8L@,#(R(%_
- XM/",#R"X E5P:;[\5;_>[Y*Z[DVQK?%+>)K&Q^CO_DIQ\+J$HY\)::&E9M!N?
- XMP :P)Y@4 ,85 7ELS%Z^&W+!BZB(K@@K>QPEFP0C<F1,B!#*]+&5?!)?LQ&O
- XM]KLE\\<QLI?<&H>N\0/$BB/ONC$M 'M#[LB4,6H+(3>W0;*9.B3;MF:PIXP&
- XM@,K,\8C[(RNTI;(!<RH;M:HRJ^S58K:DLH,L)$/(U/%&6RMCQTHM3OLJPUJQ
- XMLES *R.II:KKZ;7 IGJQA&*T>@V$,A^!.RXH5@.?L6_F,T[:FF(75Q#$IRFC
- XM1F[+6V/=\@;=/XF,0;0Y7E)C;H!"*2,'>$ ..52]/4;*I)4&R !^%+OPDHXJ
- XM4T 2H 44 5] -48%^+Z&Y,7RJM"GXN$C\WW=#HU)#^"31#^'I+[,+_O+ ',1
- XM,*6(5SM9#W "@%8GP"4E((N50(%04%4:K(PRZ0H3^%U5@E@T+YO,@5>[;,^J
- XM"^ R7PP"J,PN '! )+P]*\#+G$.N,R;K<>"I@,MX,<R\)B)9>/(Q?-4AR:\#
- XM PPH,\F"<D4,WE' \+%?5Q]COW/QBRK4G907$9*+&J>[D,Y^S*E4RAJGM?$?
- XMKWBY7C=\UA5OX%T3:2V=E'G-?WSC@7=,R+'A4G(:%0-^POSE 8TRN(,V)V\N
- XM9=K\P(3&DW%I[&.JR9<!FWP9Q+]E+_M+E^;&=O+**QNWO(9S_4O$LJ3"L6ZL
- XM./?#/D"L$'?)S,=![N!2WB:6<]@P6@0*F'-0D)C<$@.P!.'_DCF4\W\P !N_
- XMDX'0#&!DPT^S#APU&[G3\()Q;*S#[L,V'-<%,V@(.$PVBR'9L-G<*J'#>0TZ
- XMW YO((U(\F8\!TO*C I /+\VNPNZ1CG_PQ)Q@Y$V2SK3,T)<CC8B3W$T& !3
- XMS^QP5_,0OS3$,]MK$8.-RG#JS/^RR8VE1UP^]TNNLYB 7\3.6/+LK!W&0G
- XM*Z0 E,)O')DL.79$8\!'9&U8&[T23OQ#[EOWQ0^2)H3#G\42,E\(SYG2%9'7
- XM%-!K,^-KR>(7R=N7Q#R' "J ! T]@TO2L_SS/6O//H"$=3WSPR)T/4Q"F]#Q
- XMY#P\0N=;"7$)W>X>-N,S"B!!AZF(C](LAM !/!;A$_?,%Y98_NPB_HDPHH7U
- XM^>I8C"&/U?SHOKPOZJOZ4@$9L0 ,^VX$^7.I>! H6;H*DT7!*$Y,]%MD^CK1
- XMP&\*K1%KB%%6?Q(_LP%U' 9,[MG'3R]^3*KAS_HS_ZR>^<\Z 0 M0.NOUE+V
- XM#$/?)B;T!TV>X-"Y0RNR/O302Y\>G8W$T"STJ"1$;S1$= N48^U7.U;-:(4F
- XM %WT7-#[_KY0M/J\.E/1;8 5/<G<$EDT[LM%%Y*[KQ=]23_14;3J#/N6T:Z0
- XM$2-H$;-TT'(($FAG2Q/&U36D#G>"4K+M'<JJ0XE*RP@RS9!HH!],-.6+M[!&
- XM.[T0Q ,F3-<OJ0R,8H3M+]LAE/*_L,CSBF7*__9)_.^]9\LD (I(TL<1J0 6
- XM*K*LO%JFQJ;1< ?,TJ%:C19/Y3?T:12KH- !;9DYPZ+D#@Y1&^ $E %W H@
- XMR'3/K4_J")/H!ZG)]E*\.%8B# D34!\QE0QBC:07)I/",=^HU%W/?KEK$.
- XM1U B401]06$/VCE(, ; F'A:<B6I_"]"29<5#<)!S;/D(%U)$_^[-,$7<X9P
- XM%$_?QV&)NY [N L- >NP;PDR[H(EEA"HU*I42$T'>8/8(!JYW%1/?S3)>#.6
- XMCF<#2VU@?0^R$O^;8K9E#Y>^>KX:L"[KNX 8#!)A#U\@U* >,6E\Q*.>#<!6
- XM&.50^PQ%V2@X&?(H/L/A.!JBU73 B:I0N\7T@R&'&4K44;7Y6JLF$@V*6:P4
- XM9,X^P:F /"(&Y6JZ:L[(!#Z#0\0IR-6MH5'-"96KJ>CB!4[^TK6$88TX1-2'
- XME_HG%Z5+3U (RK% !5- J$!8TP'FCKIZ7S:6&4O"QW %79_UOFI7FIN@PA\A
- XMK08&(6B#TE5C;RS&<Y$[=-9_Q&<=3"<%^L%3'70IU=^(.6V\F@H;8^:,,%&/
- XM#0JGT :4'K,U)]0H/ K%=6NL5!<!. JDL%N[ ;TULHQ:TS)3=2*A-'4%V5XE
- XM5$NT4-^#2052U""Z=8'83S(%3W6I&ERMIJF$C8 C'$Q*$)&\Y,RR/#%,EB
- XM 5/.R# $R->C7X_X--*Y*1KW,@9 ?6;O^!;%YL6J""Z-.%@%^S(<DCG#BA
- XM-XT05XKU]/+TE% 0AT&%;6%XT]])P0E@@LU I-@\8OPA#/0L[&'H(;9PEI)'
- XMYS7_\"XL/D/$%;2*G8<<29=-C*T*T] 0\<H\8G-R22'OC#S[SN/+D)T.0]#)
- XMB8GR0>_1\6CXS&._-#6V%Y(-ZQH$&/B<#3?$746/G<$<A3GQ<",.Y\,IMKZQ
- XM$),AMO SI62G/O\P/NQD+P@U=)2]B+S#(#%K,]2DV6-V0C5COS0^-I=]0'O9
- XMGT5/_#NO%IH(DJTIP=@DM$WL4S'%30!6(V?W(S$V5-S.:,5PU@VC9[/"P)N+
- XM%V:S ;!(F?UB+]F'=#EJ6X?&\]W@O&@+K4QVR; W1Q&0=IZM.P?9$DT"G5\
- XM(7^V_*Q -R&:]F9$:#/9>B>;K65?-MR5\V:\O1;XQ:W=:<O0EBR6W6;[VGWO
- XM!6T-Y=@K] P-RR0F2K4P+)?>.OSO1F"AZAJV8^6KH8:@7]"\.4B$SG3.86(_
- XM+$$&3Q'T)U 25%!VNITZ-SLKN61S@00WU[_9&XG$,)U@_&:P&?@VMK L- N;
- XMZK/PE*(9U$*^+7 C"VY&"+'P0-9V1EA,RX";>*A6X)T2/&MQ$/59<R4#VC&M
- XM. :#,<XS3;Y4T\ETH#/"^"\P==1;(+]"9Q)7(FFTUT$7<Y)(4#%=02U]] P2
- XM,(E@78 P%JX,-0'C5#)1R8R#Q/@1)PT+P,-DW(-,>M+,B$4&-5OF7N\\;@#O
- XMVIV.DDY!MB+8SEF8G_8( 4'8*=>)B'!- 8(M5Q+HG3:#$H?BONQ/KK1VU@P1
- XMTQ)-T?V)N=?25S^R=/_),3<&ZK"H5MF0274#BE^-EC>RKO11@P8/P)4T!&5!
- XM'<,P#!I52NH4=H=J8W=!;;X(8#80)A4#G2>6SL9-J!G=OS4J5KNZ("V 8>FH
- XMG=,EE]6*/XX)* 3UR&8%76\KTN,%I<4P"%_IE_TLJO3;DY!Q#1 +'2#R)-UY
- XM0#MUMD:G8XR\=/0T*,>+N!FT+@; 07CZHS %4#56K9VY"W_K/'TVZ-.T-'V"
- XM4R^C@XZX;6THU7Y$#?)DD8[L];&1;1_<=O7 W/_*)+UN;G\F,"^;(=A%KP!
- XM>0#%G3NY"*F51S$2U'XQ]Z06D8G?*$'Y74M4W"HR-]26M-%YTI%B;;@+[(OU
- XMT-,,W\LHQIL 5!9KCE+AM< DY'5*$G3,.CK!^*WQ#!+ZE7#TQ72J[$'XB)><
- XM-];#<%41B$XNJW"%'NF@7] @T4YU/$M.D*!&W!$.+'B-$(7@RB-Q%73HD*6J
- XM.9.D[ 0S]3)*7=<!;4#WQP;\W3N!_4"#GPWNP@V>@YL .WAX=1&J "B ?I55
- XM;MC^,/4-/A:M]DP#'G]?E#.!'UGFI %-^!]!0+!%KPD&7DXQ/B88%FX@:N%,
- XM 0O0%?I11G1^A41;LCS63I"%XXS-:I&%+M^^6[0%(X9#66@X?J4"SS@(MO0H
- XM!PA'+$!9>"J$&GUX4# 8 .+_=;MT''22:0(K[<LR)W5&5/)\"B@$RI,D?*?3
- XM<E9?C4OO$!70CZ(?C =ACT B=,ODW@ML:XLTR=*Q_U/:[/XMT>F?R< _#>X
- XMX'^CTRVJNX"DV-T_>+M@@RO7.C@/?J2X$-(,$+Z+X^"]..7$]XCA*$Z*@XHW
- XM/T]2#XZP/4G(=SI-GSS;1#*S )U)XF: !%Z)6T^7>(M:2_-.M[1)D$L'!M<C
- XM\"TTA.(*P"B>Y3R?PA%1^#V<***C>/(]3-/9[RL>BZL L_CRC2ZH&C-X,*Z+
- XMLP1">"_N@__BN7@0SHL3X5.5RG6'@UB&C?+BN6 MSOB1!XV'XD+W>E*-,R=4
- XMT9P3B5\RVSC6THT3N1@H5? E4%PL04N"@Y<>^,,N/1F@XQCYH\ 2;.1=P:11
- XM:>QWKSCA-I(WX#!Y_7*/Y^, ^#Z.EM@H-_E++J: !U!49XN'"R(%UR4+_7C
- XM-3A ?I#OX /Y0-Z4TP$!.4)NC#/AG1"A\;8$Y8IAZL25Y^3XRBNN+GSE0[D;
- XMGI6+!H@W!X6UD.5C')Y\8?&R<=O00F-":MZ(KF(3/63<'ASSEFM9:9?%_<7-
- XMY/7XL;&3W]8].7KH->/B_KA!3HPCY%$Y,#Z55^5%> &F&?+E#&_ZDQU%X/4"
- XM70D(Q;T+0P'\2 -<:NQQUIZ>&0SIM1H+0JF"AEU^@./E[UVC\9GS'**@7VY_
- XMA]PNJCV^C/;?A'FH9HOSXXCY8_Z4^^)2N3#NE"_FD;EH5AD*LU=XE)4 8.;)
- XMYF8><P@_7C%^)>,>9(E$0J99TN6!@6KNWDT&091T_N/VY?6WV 281\VV^;<@
- XMB^?FM7@ SIL'!ANV;TZ< ^>.N7!.E?_F3%%\=QB&X<HY<ZZ9;Q&<>72^/D2[
- XMHOD@<9K;8'6Y ;Z=*P#=^7_>^$IFLKEX3IM_)>6YC8*/H^=$[FY^F+/G!?DP
- XM/H1#Y<!X</Z/S^?O>7VN&*IER?EESA1($,TY?_Z<=^9$LOI "/J[ 3IZQ'=(
- XM<=JY2HZ@1V1P*8CF=X?G!-%XCLV:PH+Y;7Z>_]^ZN7I^H1_C[OFI]GZ,.Y
- XMDBZB!VHZ.GYNHKL!*/I^S@;TYY[Y^C 9Q^7T)4KW]J3F!KJ-GJ#3 9/QCGXE
- XMS^:M>&T>I)OG$SJ1GI[OXT=Z>RZ?0^9+>F*NH1?C-ED%7*9+Z0B;?NX[.N?[
- XM%72>I9/IZW&?+)H+R%XZ^U"@W^4L'7>.HVOIA;J9_B@[Z&DZA+ZF2^@\>9$.
- XMIXM$O?F<_ILWYDPZB.ZDY^GPL8!<-T]FECG"!LW$$)[JV)HZ0!&6MWAZ4CQ!
- XM#2%=V<MZC7"IB7PA4^<U,A9S(8/IC+IHX'Z[YO^YKHXB/P0->H_^H /I^[>0
- XMWJ;3XA6ZD<ZI8^AV>I,ND'?H\?F'3J?'41.RL1X8\^E'GI]^!P#J&9:@W@ZA
- XM2W01=JJDT:ZN0V!]JQO<>OB3/!Z+YH-(HKXTU>BLN:-.K)N)\OJWCJSSZ/0X
- XM>7ZIX^9N>K2^J3/EGOI[#JI7ZZ(ZGN[4I<#]>I5LA^?G)WIF_J>KZ(%Z9WZN
- XMZTX[4<H&C#&;+_B[KN_B5WQR7'ZPVNO ^FK>J-_H^SJ?+*DWPV@Z33ZP#^G0
- XM.F9LH4_K2'K"KJ0O[$FZP]X)_L4AL[^.JE/L5+K%/JYC[.4ZB^Z6KP^#2,5@
- XM0V28Q.P5E"_@UN##^N"T7S&LP[T>IN?K++M>SK3C"E<[,/IU ^QQD\S>K+/I
- XMF?J;;ICC['*ZMOZI8^NA^K9^_U#M^%78GE$:<F(X/OQ<..(&MP315Q\'YO<V
- XM_K<'!?F"=JZ9*@9M=T)F%JP%:S$$H0#X[5W$BSQ_O^R)XU^^K$?D@WG!;K-+
- XMZPB[VZZPP^T,N]P>GD#N7T%0L*G 0&'X&Z[@Y"[]B>.>,(I0,8=DG7./[6<Z
- XMI6ZVP^+.>MINL*_MG;MBOK.#[CV[57[_)(QAENPNXX#KRTCK;JG"W^0W[+Y?
- XM&>\Q.>T^J2OKE3JSCKNC[13ZYGZP=^J>^^_>@V?KOKO/KBXP[WE \9X4U &S
- XM^\3.NE,&KCL=Q)50+8,!]/X&4.Z K.T>F)_MF'KV'I7<[+W[G<Z8 ^\ZN_A.
- XM3L.6\+L<(+^7Z(F8\@Y/D^_O^V-@P)_OZ;L^/+T'[#\ZYIZ[Z^\Q->?.O8?O
- XM__OW'K?3Y_</^5[ '_#(>[^4, 8!+L(;(!Q)UEXWN+,3:#TF\?6+$AL$9GO:
- XM(+^#"T%.PZ!?01EN@&0-+A 0#0,64 2HINI":GH--Z9)-00?EB2,6#EC;8";
- XM/ LY&0X^^L%F>;E*!;RG XSJ6P5$/T\ 70!K6004<9##.9_O6(!\B<*K$2L\
- XM&2_++-;G>Q9@QJ?P:3RGD 5T,D@U27 F\?"2]? 3Q=,!'G&0 Y"U[[#E&:_"
- XM?P]Y_-C>">^"EGOU;L%C[YK[_BZM6TO*E" _!>!$=T <7P<0VD4UV_[!?^X>
- X3?.@.PH<G)SP<3\B?[RW\T+Z^ RZM
- X
- Xend
- END_OF_FILE
- if test 34343 -ne `wc -c <'screen.c.Z.uu'`; then
- echo shar: \"'screen.c.Z.uu'\" unpacked with wrong size!
- fi
- # end of 'screen.c.Z.uu'
- fi
- if test -f 'services.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'services.c'\"
- else
- echo shar: Extracting \"'services.c'\" \(18215 characters\)
- sed "s/^X//" >'services.c' <<'END_OF_FILE'
- X/*
- X * (c) Copyright 1989, 1990 Sun Microsystems, Inc. Sun design patents
- X * pending in the U.S. and foreign countries. See LEGAL_NOTICE
- X * file for terms of the license.
- X */
- X
- X#ident "@(#)services.c 1.1 olvwm version 1/3/92"
- X
- X/*
- X * Based on
- X#ident "@(#)services.c 26.36 91/09/14 SMI"
- X *
- X */
- X
- X#include <stdio.h>
- X#ifdef SYSV
- X#include <string.h>
- X#else
- X#include <strings.h>
- X#endif
- X#include <errno.h>
- X#include <sys/time.h>
- X#include <sys/types.h>
- X#include <sys/stat.h>
- X
- X#include <X11/Xos.h>
- X#include <X11/Xlib.h>
- X#include <X11/Xutil.h>
- X#include <X11/Xatom.h>
- X
- X#define XK_MISCELLANY
- X#include <X11/keysymdef.h>
- X
- X#include "i18n.h"
- X#include "ollocale.h"
- X#include "events.h"
- X#include "olwm.h"
- X#include "win.h"
- X#include "menu.h"
- X#include "notice.h"
- X#include "globals.h"
- X#include "group.h"
- X#include "mem.h"
- X#include "resources.h"
- X
- Xextern char *getenv();
- Xextern unsigned int FindModifierMask();
- Xextern void ReInitUserMenu();
- Xextern void *ClientKill();
- X
- X/*
- X * Externals
- X */
- Xextern Atom AtomProtocols;
- Xextern Atom AtomSaveYourself;
- Xextern Atom AtomShowProperties;
- Xextern Window NoFocusWin;
- X
- Xextern Bool UpdInputFocusStyle();
- X
- X/*
- X * Execute a command by handing it to /bin/sh.
- X */
- Xint
- XExecCommand(env,cmd)
- X char **env;
- X char *cmd;
- X{
- X char *args[4];
- X int pid;
- X
- X args[0] = "/bin/sh";
- X args[1] = "-c";
- X args[2] = cmd;
- X args[3] = NULL;
- X
- X pid = fork();
- X if (pid == -1) {
- X perror("olvwm: fork");
- X return 1;
- X } else if (pid == 0) {
- X /* child */
- X#ifdef SYSV
- X setpgrp();
- X#else
- X setpgrp(0, getpid());
- X#endif
- X execve(args[0], args, env);
- X perror("olvwm: exec");
- X exit(1);
- X }
- X return 0;
- X}
- X
- X
- X/***************************************************************************
- X* Exit from WM
- X****************************************************************************/
- X
- Xvoid
- XExitCallback(dpy,button)
- X Display *dpy;
- X int button;
- X{
- X /* If Exit button is selected, will return 0 */
- X if (button == 0)
- X Exit(dpy);
- X}
- X
- X/*
- X * ExitFunc - Exit window with a confirmation notice
- X */
- X/*ARGSUSED*/
- Xint
- XExitFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X int screen;
- X char *buttons[2];
- X char *msg;
- X NoticeBox noticeBox;
- X
- X buttons[0] = gettext("Exit");
- X buttons[1] = gettext("Cancel");
- X msg = gettext("Please confirm exit from window system");
- X
- X screen = winInfo->core.client->screen;
- X
- X /* set up noticeBox information */
- X noticeBox.numButtons = NOTICE_BUTTON_COUNT(buttons);
- X noticeBox.defaultButton = 1; /* cancel is default */
- X noticeBox.buttonText = buttons;
- X noticeBox.msgText = msg;
- X noticeBox.boxX = -1;
- X noticeBox.boxY = -1;
- X
- X UseNoticeBoxSync(dpy,screen,¬iceBox,ExitCallback);
- X}
- X
- X/*
- X * ExitNoConfirmFunc - Exit window w/o a confirmation notice
- X */
- Xint
- X/*ARGSUSED*/
- XExitNoConfirmFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X Exit(dpy);
- X}
- X
- X/***************************************************************************
- X* Command execution
- X****************************************************************************/
- X
- X/*
- X * AppMenuFunc -- called when a command is listed as the item selected on
- X * the olwm menu
- X */
- X/*ARGSUSED*/
- Xint
- XAppMenuFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X return ExecCommand(winInfo->core.client->scrInfo->environment,
- X (char *)menuInfo->menu->buttons[idx]->action.submenu);
- X}
- X
- X/*
- X * PshFunc -- called when the "POSTSCRIPT" keyword is present for the
- X * item selected in the olwm menu
- X *
- X */
- X/*ARGSUSED*/
- Xint
- XPshFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X char *commArgv[2];
- X int pshPipe[2];
- X int pid;
- X char *dir;
- X char pshPath[100];
- X char **env = winInfo->core.client->scrInfo->environment;
- X
- X if ( (dir = getenv( "OPENWINHOME" )) == NULL )
- X commArgv[0] = "/usr/bin/psh";
- X else
- X {
- X strcpy( pshPath, dir );
- X strcat( pshPath, "/bin/psh" );
- X commArgv[0] = pshPath;
- X }
- X
- X commArgv[1] = NULL;
- X
- X if ( pipe( pshPipe ) == -1 )
- X {
- X perror( "olvwm: pipe" );
- X return( -1 );
- X }
- X
- X pid = fork();
- X if ( pid == -1 )
- X {
- X perror("olvwm: fork");
- X return( -1 );
- X }
- X else if ( pid == 0 )
- X {
- X /* child reads from pipe and writes to stdout/err */
- X close( 0 ); /* close stdin */
- X dup( pshPipe[0] ); /* make stdin the read end */
- X close( pshPipe[0] ); /* don't need orig pipe fds */
- X close( pshPipe[1] );
- X close( 1 ); /* close stdout */
- X dup( 2 ); /* make olwm stderr = psh stdout */
- X#ifdef SYSV
- X setpgrp();
- X#else
- X setpgrp(0, getpid());
- X#endif
- X execve( commArgv[0], commArgv, env );
- X fprintf( stderr, gettext("olvwm: psh error: %d\n"), errno );
- X }
- X else
- X {
- X /* parent writes user menu postscript code down pipe */
- X close( pshPipe[0] ); /* don't need to read pipe */
- X write( pshPipe[1],
- X (char *)(menuInfo->menu->buttons[idx]->action.submenu),
- X strlen((char *)(menuInfo->menu->buttons[idx]->action.submenu)) );
- X close( pshPipe[1] );
- X }
- X return 1;
- X}
- X
- X/***************************************************************************
- X* Flip Drag
- X****************************************************************************/
- X
- X/*ARGSUSED*/
- Xint
- XFlipDragFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X GRV.DragWindow = !GRV.DragWindow;
- X return 0;
- X}
- X
- X
- X/***************************************************************************
- X* Flip Focus
- X****************************************************************************/
- X
- X
- X/*ARGSUSED*/
- Xint
- XFlipFocusFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X extern void UpdFocusStyle();
- X Bool temp = !GRV.FocusFollowsMouse;
- X
- X UpdFocusStyle(dpy, NULL, &GRV.FocusFollowsMouse, &temp);
- X return 0;
- X}
- X
- X/***************************************************************************
- X* No-Operation
- X****************************************************************************/
- X
- X/*
- X * NopFunc - a no-operation function, used as a placeholder for
- X * the NOP service
- X */
- X/*ARGSUSED*/
- Xint
- XNopFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X}
- X
- X/***************************************************************************
- X* Clipboard
- X****************************************************************************/
- X
- X/*ARGSUSED*/
- Xint
- XClipboardFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X NoticeBox noticeBox;
- X char *buttons[1];
- X char *msg;
- X
- X buttons[0] = gettext("Ok");
- X msg = gettext("Sorry, the clipboard is not yet implemented.");
- X
- X /* set up noticeBox information */
- X noticeBox.numButtons = NOTICE_BUTTON_COUNT(buttons);
- X noticeBox.defaultButton = 0;
- X noticeBox.buttonText = buttons;
- X noticeBox.msgText = msg;
- X noticeBox.boxX = -1;
- X noticeBox.boxY = -1;
- X
- X (void) UseNoticeBox(dpy, winInfo->core.client->screen, ¬iceBox);
- X}
- X
- X/***************************************************************************
- X* Print Screen
- X****************************************************************************/
- X
- X/*ARGSUSED*/
- Xint
- XPrintScreenFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X NoticeBox noticeBox;
- X char *buttons[1];
- X char *msg;
- X
- X buttons[0] = gettext("Ok");
- X msg = gettext("Sorry, Print Screen is not yet implemented.");
- X
- X
- X /* set up noticeBox information */
- X noticeBox.numButtons = NOTICE_BUTTON_COUNT(buttons);
- X noticeBox.defaultButton = 0;
- X noticeBox.buttonText = buttons;
- X noticeBox.msgText = msg;
- X noticeBox.boxX = -1;
- X noticeBox.boxY = -1;
- X
- X (void) UseNoticeBox(dpy, winInfo->core.client->screen, ¬iceBox);
- X}
- X
- X
- X/***************************************************************************
- X* Refresh screen
- X****************************************************************************/
- X
- X/*
- X * RecursiveRefresh
- X *
- X * Recursively refresh an entire window tree, by walking the hierarchy and
- X * sending Expose events to each window (via XClearWindow). Note that
- X * XClearArea will generate a BadMatch error if called on InputOnly windows;
- X * this error is suppressed in Error.c.
- X */
- Xvoid
- XRecursiveRefresh(dpy, win)
- X Display *dpy;
- X Window win;
- X{
- X int i;
- X unsigned int nchildren;
- X Status s;
- X Window root, parent;
- X Window *childlist;
- X
- X XClearArea(dpy, win, 0, 0, 0, 0, True);
- X s = XQueryTree(dpy, win, &root, &parent, &childlist, &nchildren);
- X if (s == 0)
- X return;
- X for (i=0; i<nchildren; ++i) {
- X RecursiveRefresh(dpy, childlist[i]);
- X }
- X if (nchildren > 0)
- X XFree((char *)childlist);
- X}
- X
- X
- X/*
- X * RefreshFunc -- called when the "Refresh Screen" item has been selected on
- X * the olwm menu
- X */
- X/*ARGSUSED*/
- Xint
- XRefreshFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X if (GRV.RefreshRecursively) {
- X RecursiveRefresh(dpy, winInfo->core.client->scrInfo->rootid);
- X } else {
- X Window w;
- X XSetWindowAttributes xswa;
- X int screen = winInfo->core.client->screen;
- X
- X /* We create a window over the whole screen, map it,
- X * then destroy it.
- X */
- X xswa.override_redirect = True;
- X w = XCreateWindow(dpy, WinRootID(winInfo),
- X 0, 0,
- X DisplayWidth(dpy,screen),
- X DisplayHeight(dpy,screen),
- X 0,
- X CopyFromParent,
- X InputOutput,
- X CopyFromParent,
- X CWOverrideRedirect,
- X &xswa);
- X
- X XMapRaised(dpy, w);
- X XDestroyWindow(dpy, w);
- X }
- X}
- X
- X/***************************************************************************
- X* Properties
- X****************************************************************************/
- X
- X#define WORKSPACEPROPS "props"
- X
- X/*
- X * PropertiesFunc -- called when the "Properties ..." item has been selected
- X * on the root menu. REMIND: this and AppMenuFunc should be merged.
- X */
- X/*ARGSUSED*/
- Xint
- XPropertiesFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X return ExecCommand(winInfo->core.client->scrInfo->environment,WORKSPACEPROPS);
- X}
- X
- X/***************************************************************************
- X* Save Workspace
- X****************************************************************************/
- X
- X/*
- X * SaveWorkspaceFunc - called when "Save Workspace" is selected
- X * from the root menu.
- X */
- X/*ARGSUSED*/
- Xint
- XSaveWorkspaceFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- Xstatic char *owplacesCmd =
- X "owplaces -silent -multi -script -tw -output $HOME/.openwin-init";
- X char *buttons[1];
- X char *msg;
- X int status;
- X int screen = winInfo->core.client->screen;
- X NoticeBox noticeBox;
- X
- X /* having either grab fail isn't fatal; issue warnings only */
- X
- X VirtualSaveDesktops(dpy, 0, 0);
- X if (XGrabPointer(dpy, NoFocusWin, False, ButtonPressMask,
- X GrabModeAsync, GrabModeAsync, None,
- X GRV.BusyPointer, CurrentTime) != GrabSuccess)
- X {
- X ErrorWarning(gettext("failed to grab pointer"));
- X }
- X
- X if (XGrabKeyboard(dpy, NoFocusWin, False, GrabModeAsync,
- X GrabModeAsync, CurrentTime) != GrabSuccess)
- X {
- X ErrorWarning(gettext("failed to grab keyboard"));
- X }
- X
- X status = system(owplacesCmd);
- X
- X XUngrabKeyboard(dpy,CurrentTime);
- X XUngrabPointer(dpy,CurrentTime);
- X
- X VirtualRestoreDesktops(dpy);
- X
- X /*
- X * owplaces was sucessful
- X */
- X if (status == 0) {
- X buttons[0] = gettext("Ok");
- X msg = gettext("Save Workspace complete.");
- X
- X noticeBox.numButtons = NOTICE_BUTTON_COUNT(buttons);
- X noticeBox.defaultButton = 0;
- X noticeBox.buttonText = buttons;
- X noticeBox.boxX = noticeBox.boxY = -1;
- X noticeBox.msgText = msg;
- X
- X UseNoticeBox(dpy,screen,¬iceBox);
- X
- X return True;
- X }
- X
- X /*
- X * owplaces failed with an error
- X */
- X buttons[0] = gettext("Cancel");
- X
- X switch (status>>8) {
- X case 4:
- X msg = gettext("Save Workspace could not be performed, because\nthere was an error writing the .openwin-init file.");
- X break;
- X case 5:
- X msg = gettext("Save Workspace could not be performed,\nbecause some applications did not respond.");
- X break;
- X default:
- X msg = gettext("Save Workspace could not be performed,\nbecause the owplaces(1) command failed.");
- X break;
- X
- X }
- X
- X noticeBox.numButtons = NOTICE_BUTTON_COUNT(buttons);
- X noticeBox.defaultButton = 0;
- X noticeBox.buttonText = buttons;
- X noticeBox.boxX = noticeBox.boxY = -1;
- X noticeBox.msgText = msg;
- X
- X UseNoticeBox(dpy,screen,¬iceBox);
- X
- X return False;
- X}
- X
- X/***************************************************************************
- X* ReReadUserMenu
- X****************************************************************************/
- X
- X/*
- X * ReReadUserMenuFunc
- X */
- X/*ARGSUSED*/
- Xint
- XReReadUserMenuFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ReInitUserMenu(dpy,winInfo->core.client->scrInfo,True);
- X}
- X
- X/***************************************************************************
- X* Window Menu Action Procs
- X****************************************************************************/
- X
- X/*
- X * WindowOpenCloseAction
- X * Toggles Open/Close.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowOpenCloseAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientOpenCloseToggle(winInfo->core.client);
- X}
- X
- X/*
- X * WindowFullRestoreSizeAction
- X * Toggles Full/Restore Size.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowFullRestoreSizeAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientFullRestoreSizeToggle(winInfo->core.client);
- X}
- X
- X/*
- X * WindowMoveAction
- X * Moves the window with user interaction.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowMoveAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientMove(winInfo->core.client,(XEvent *)NULL);
- X}
- X
- X/*
- X * WindowResizeAction
- X * Resizes the window with user interaction.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowResizeAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientResize(winInfo->core.client, NULL, keyevent, NULL, NULL);
- X}
- X
- X/*
- X * WindowPropsAction
- X * Brings up window properties.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowPropsAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientShowProps(winInfo->core.client);
- X}
- X
- X/*
- X * WindowBackAction
- X * Pushes a window back in the window hierarchy.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowBackAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientBack(winInfo->core.client);
- X}
- X
- X/*
- X * WindowRefreshAction
- X * Refreshes the window
- X */
- X/*ARGSUSED*/
- Xint
- XWindowRefreshAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientRefresh(winInfo->core.client);
- X}
- X
- X/*
- X * WindowStickAction
- X */
- X/*ARGSUSED*/
- Xint
- XWindowStickAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientStickUnstickToggle(winInfo->core.client);
- X}
- X
- X/*
- X * WindowQuitAction
- X *
- X */
- X/*ARGSUSED*/
- Xint
- XWindowQuitAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientKill(winInfo->core.client,True);
- X}
- X
- X/*
- X * WindowFlashOwnerAction
- X *
- X */
- X/*ARGSUSED*/
- Xint
- XWindowFlashOwnerAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientFlashOwner(winInfo->core.client);
- X}
- X
- X/*
- X * WindowThisAction
- X * Dismiss this window.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowDismissThisAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X ClientKill(winInfo->core.client, False);
- X}
- X
- X/*
- X * WindowDismissAllAction
- X * Dismiss all pop-ups in the group.
- X */
- X/*ARGSUSED*/
- Xint
- XWindowDismissAllAction(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X Client *cli = winInfo->core.client;
- X
- X /* dismiss all followers in this window's group */
- X GroupApply(cli->groupid,ClientKill,(void *)False,GROUP_DEPENDENT);
- X
- X /*
- X * If this window is not a dependent follower, make sure to dismiss
- X * it too.
- X */
- X if (cli->groupmask != GROUP_DEPENDENT)
- X ClientKill(winInfo->core.client, False);
- X}
- X
- X/***************************************************************************
- X* Window controls functions
- X****************************************************************************/
- X
- X/*
- X * Window Control Functions:
- X * Each function operates on the selected client list and
- X * performs the necessary action on each client (if any).
- X */
- X
- X/*
- X * OpenCloseSelnFunc
- X * Toggles Open/Close on all selected clients
- X */
- X/*ARGSUSED*/
- Xint
- XOpenCloseSelnFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X Client *cli = (Client *)NULL;
- X
- X while (cli = EnumSelections(cli)) {
- X ClientOpenCloseToggle(cli);
- X }
- X}
- X
- X/*
- X * FullRestoreSizeSelnFunc
- X * Toggles Full/Restore Size on all selected clients
- X */
- X/*ARGSUSED*/
- Xint
- XFullRestoreSizeSelnFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X Client *cli = (Client *)NULL;
- X
- X while (cli = EnumSelections(cli)) {
- X ClientFullRestoreSizeToggle(cli);
- X }
- X}
- X
- X/*
- X * BackSelnFunc
- X * Lowers all selected clients/windows to that back of the
- X * window hierarchy.
- X */
- X/*ARGSUSED*/
- Xint
- XBackSelnFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X Client *cli = (Client *)NULL;
- X
- X while (cli = EnumSelections(cli)) {
- X ClientBack(cli);
- X }
- X}
- X
- X/*
- X * QuitSelnFunc
- X * Quit's all selected clients.
- X */
- X/*ARGSUSED*/
- Xint
- XQuitSelnFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X Client *cli = (Client *)NULL;
- X
- X while (cli = EnumSelections(cli)) {
- X ClientKill(cli,True);
- X }
- X}
- X
- X/*
- X * StickSelnFunc
- X * Toggles the sticky bit on all selected clients
- X */
- X/*ARGSUSED*/
- Xint
- XStickSelnFunc(dpy, winInfo, menuInfo, idx)
- X Display *dpy;
- X WinGeneric *winInfo;
- X MenuInfo *menuInfo;
- X int idx;
- X{
- X Client *cli = (Client *)NULL;
- X
- X while (cli = EnumSelections(cli)) {
- X ClientStickUnstickToggle(cli);
- X }
- X}
- END_OF_FILE
- if test 18215 -ne `wc -c <'services.c'`; then
- echo shar: \"'services.c'\" unpacked with wrong size!
- fi
- # end of 'services.c'
- fi
- echo shar: End of archive 9 \(of 21\).
- cp /dev/null ark9isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 21 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Molecular Simulations, Inc. mail: dcmartin@postgres.berkeley.edu
- 796 N. Pastoria Avenue uucp: uwvax!ucbvax!dcmartin
- Sunnyvale, California 94086 at&t: 408/522-9236
-